如何为 .NET 3.5 创建自定义查询接口?

发布于 2024-09-27 15:22:32 字数 536 浏览 5 评论 0原文

我有 .NET Assembly 暴露给 COM,并且我想创建一个自定义 QueryInterface,否则我的类将不得不实现很多接口。

目前我的实现是这样的,

[ComVisible(true]
[ProgId("SomeLib.SomeClass")]
[Guid("516E4529-38F1-44EE-B340-ABFA498DC922")]
public class MyClass : Interface1, Interface2......, etc

我希望我的类不要实现这些接口,但是当调用 QueryInterface 时返回一个实现所请求接口的对象。我知道 .NET Framework 4.0 存在此功能(请参阅 ICustomQueryInterface )不幸的是我需要在 3.5 中做到这一点

I have .NET Assembly exposed to COM, and I want to create a custom QueryInterface, otherwise my Class will have to implement a lot of interfaces.

Currently my implementation is like this

[ComVisible(true]
[ProgId("SomeLib.SomeClass")]
[Guid("516E4529-38F1-44EE-B340-ABFA498DC922")]
public class MyClass : Interface1, Interface2......, etc

I want my class not to implement those interfaces, but when QueryInterface is called to return an object that implements the requested interface. I know this feature exists for .NET framework 4.0 (see ICustomQueryInterface ) Unfortunately I need to do it in 3.5

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

抹茶夏天i‖ 2024-10-04 15:22:37

从 .NET 4.0 开始,您可以执行此操作。
您可以使用 ICustomQueryInterface 来实现此目的。另请参阅使用示例另一个示例

Starting from .NET 4.0, you can do this.
You can use ICustomQueryInterface for this. See also a usage sample and another sample.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文