我很好奇是否可以使用新的 TypeIdentifierAttribute 属性在 .NET 中创建 2 个接口(interface)(在同一个程序集中或在不同的程序集中),这些接口(interface)可以被视为等效的。我还没有找到办法。
我在 Internet 上看到一些东西表明这最终是可能的,但目前的实现似乎仅适用于 COM 互操作。我知道这样做的直接意图是嵌入 COM 互操作。我不处理 COM 互操作。
此外,我对讨论为什么要这样做不感兴趣,我不想将这个问题引向其他类型的解决方案。假设我正在试验,我想看看我们是否可以使用 TypeIdentifierAttribute 做些什么。
最佳答案
根据 documentation , 和 anecdotal evidence , 可以使类型等效与标准的非 COM 接口(interface)一起工作。
从文档来看,如果您的接口(interface)位于不同的程序集中,您似乎不需要 TypeIdentifierAttribute。要将两个接口(interface)视为等同的,您只需要:
- 确保它们具有相同的名称,并且位于相同的命名空间中。
- 申请GuidAttribute给他们两个,为他们分配相同的 Guid。
关于c# - 我们可以在没有 COM 的情况下在 .NET 中使用 TypeIdentifierAttribute 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3290544/