C#4.0新增功能04 嵌入的互操作类型
从 .NET Framework 4 开始,公共语言运行时支持将 COM 类型的类型信息直接嵌入到托管程序集中,而不要求托管程序集从互操作程序集中获取 COM 类型的类型信息。?由于嵌入式类型信息仅包含托管程序集实际使用的类型和成员,因此两个托管程序集可能具有相同 COM 类型的不同视图。?每个托管程序集都有不同的?Type?对象来表示其 COM 类型视图。公共语言运行时支持接口、结构、枚举和委托等不同视图之间的类型等效性。 类型等效性意味着从一个托管程序集传递到另一个托管程序集的 COM 对象可以转换为接收程序集中适当的托管类型。
类型等效性COM 类型的等效性支持接口、结构、枚举和委托。?如果满足以下所有条件,则 COM 类型符合等效条件:
类型标识范围和标识匹配时,确定两种类型具有相同标识,换句话说,如果它们各自具有?TypeIdentifierAttribute?属性,并且两个属性都具有匹配的?Scope?和?Identifier?属性。?Scope的比较不区分大小写。 如果一个类型不具有?TypeIdentifierAttribute?属性,或者如果它有一个不指定范围和标识符的?TypeIdentifierAttribute?属性,仍可将该类型视为等效性,如下所示:
针对类型等效性标记 COM 类型可通过两种方式将类型标记为符合类型等效性:
请参阅
? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |