如何为 .NET 3.5 创建自定义查询接口?
我有 .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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
从 .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.