【已更新最新开发文章,点击查看详细】
公共语言运行时支持接口、结构、枚举和委托等不同视图之间的类型等效性。
类型等效性意味着从一个托管程序集传递到另一个托管程序集的 COM 对象可以转换为接收程序集中适当的托管类型。
类型等效性和嵌入式互操作类型简化了使用 COM 组件的应用程序和加载项的部署,因为无需与应用程序一起部署互操作程序集。 如果共享 COM 组件的开发人员希望较早版本的 .NET Framework 使用其组件,他们仍须创建主互操作程序集 (PIA)。
类型等效性
如果满足以下所有条件,则 COM 类型符合等效条件:
-
类型是两个接口、两个结构、两个枚举或两个委托。
-
类型具有相同标识,如下节所述。
-
针对类型等效性标记 COM 类型部分所述。
类型标识
Scope的比较不区分大小写。
TypeIdentifierAttribute 属性,仍可将该类型视为等效性,如下所示:
-
TypeIdentifierAttribute.Identifier 属性。
-
Identifier 属性。
针对类型等效性标记 COM 类型
可通过两种方式将类型标记为符合类型等效性:
-
TypeIdentifierAttribute 属性应用于该类型。
-
ImportedFromTypeLibAttribute 属性,则接口、结构、枚举或委托是 COM 导入类型。
请参阅
- IsEquivalentTo
- 在托管代码中使用 COM 类型
- 将类型库作为程序集导入
【已更新最新开发文章,点击查看详细】