System.Type.IsEquivalentTo 方法

方法描述

确定两个 COM 类型是否具有相同的标识,以及是否符合类型等效的条件。

语法定义(C# System.Type.IsEquivalentTo 方法 的用法)

public virtual bool IsEquivalentTo(
	Type other
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
other System-Type 要测试是否与当前类型等效的 COM 类型。
返回值 System.Boolean 如果 COM 类型等效,则为 true;否则为 false。 如果一个类型位于为执行加载的程序集中,而另一个类型位于已加载到仅限反射上下文的程序集中,则此方法也返回 false。

提示和注释

从 .NET Framework 4 版 开始,公共语言运行时支持将 COM 类型的类型信息直接嵌入到托管程序集中,而不是要求托管程序集从 interop 程序集获取 COM 类型的类型信息。 由于嵌入的类型信息只包含托管程序集实际所使用的类型和成员,因此两个托管程序集可能会具有相同 COM 类型的截然不同的视图。 每个托管程序集使用不同的 Type 对象来表示各自的 COM 类型视图。 公共语言运行时支持这些不同视图之间的类型等效性,这些类型包括接口、结构、枚举和委托。

类型等效性意味着,在两个托管程序集之间传递的 COM 对象在接收程序集中可以转换为适当的托管类型。 IsEquivalentTo 方法使程序集可以确定从另一个程序集获得的 COM 对象的 COM 标识与第一个程序集自己的嵌入式互操作类型之一相同,因此可以强制转换为该类型。

有关更多信息,请参见 类型等效性和嵌入的互操作类型。

System.Type.IsEquivalentTo 方法例子


异常

异常 异常描述

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4 .NET Framework Client Profile 受以下版本支持:4

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。