c# - 我们可以在没有 COM 的情况下在 .NET 中使用 TypeIdentifierAttribute 吗?

标签 c# vb.net c#-4.0 vb.net-2010

我很好奇是否可以使用新的 TypeIdentifierAttribute 属性在 .NET 中创建 2 个接口(interface)(在同一个程序集中或在不同的程序集中),这些接口(interface)可以被视为等效的。我还没有找到办法。

我在 Internet 上看到一些东西表明这最终是可能的,但目前的实现似乎仅适用于 COM 互操作。我知道这样做的直接意图是嵌入 COM 互操作。我不处理 COM 互操作。

此外,我对讨论为什么要这样做不感兴趣,我不想将这个问题引向其他类型的解决方案。假设我正在试验,我想看看我们是否可以使用 TypeIdentifierAttribute 做些什么。

最佳答案

根据 documentation , 和 anecdotal evidence , 可以使类型等效与标准的非 COM 接口(interface)一起工作。

从文档来看,如果您的接口(interface)位于不同的程序集中,您似乎不需要 TypeIdentifierAttribute。要将两个接口(interface)视为等同的,您只需要:

  1. 确保它们具有相同的名称,并且位于相同的命名空间中。
  2. 申请GuidAttribute给他们两个,为他们分配相同的 Guid。

关于c# - 我们可以在没有 COM 的情况下在 .NET 中使用 TypeIdentifierAttribute 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3290544/

相关文章:

c# - 如何启用 dpiAware?

用于下载项目的 C# 代码,检查文本/二进制和 gzip/非压缩?

c# - 如何在 C# 中禁用某些 TextBox 项?

c# - 等效于 WinForms TextBox.WPF 中的验证事件

c#-4.0 - nhibernate CurrentSessionContext.Hasbind 未设置对象引用

c# - 构造函数中的这种变化是否被允许?

C# 通过 HTTP 发送图像

vb.net - Application Insights 在加载时因 System.Reflection.TargetInvocationException 失败 - WP 8.1

.net - 从 VB.Net 中的二进制文件中提取字符串

c# - MS 图表 : Possible to reduce tooltip delay?