在C#中实现IUnknown?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (143)

我一直在寻找一个如何在C#中实现IUnknown的例子,但是没有找到任何合适的引用或解决方案。

它应该像......一样简单吗?

public interface IUnknown
{
    UInt32 AddRef();
    UInt32 QueryInterface([In] IntPtr riid, [Out] IntPtr ppvObject);
    UInt32 Release();
}

......还是还有更多呢?

提问于
用户回答回答于

你为什么要实现IUnknown?这是一个COM接口。如果要与COM进行互操作,请使用.Net / COM桥,它为您实现IUnknown。

用户回答回答于

问的是:{...只是出于兴趣,Direct2D接口,ID2D1Factory继承自IUnknown,所以我可能仍然需要用.NET实现这个接口......我不确定我会在这里做什么。 - 系列0 13年5月24日8:51 ...}答案是否定的。从IUnknown派生一个类的重点是,你的类不必实现IUknown为你做的任何事情。它会自动处理QueryInterface和AddRefCount之类的事情。你甚至不用C#或C ++做事。在C ++中,然后是CoCreateInstance(),在C#中,它是Activator.CreateInstance()。

所属标签

可能回答问题的人

  • 人生的旅途

    10 粉丝484 提问5 回答
  • 无聊至极

    4 粉丝504 提问5 回答
  • 骑牛看晨曦

    5 粉丝522 提问4 回答
  • 嗨喽你好

    7 粉丝480 提问4 回答

扫码关注云+社区

领取腾讯云代金券