IsEquivalentTo Method
Collapse the table of content
Expand the table of content

Type.IsEquivalentTo Method (Type)

.NET Framework 4.6 and 4.5

Determines whether two COM types have the same identity and are eligible for type equivalence.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

abstract IsEquivalentTo : 
        other:Type -> bool
override IsEquivalentTo : 
        other:Type -> bool


Type: System.Type

The COM type that is tested for equivalence with the current type.

Return Value

Type: System.Boolean

true if the COM types are equivalent; otherwise, false. This method also returns false if one type is in an assembly that is loaded for execution, and the other is in an assembly that is loaded into the reflection-only context.

Beginning with the .NET Framework 4, the common language runtime supports the embedding of type information for COM types directly into managed assemblies, instead of requiring the managed assemblies to obtain type information for COM types from interop assemblies. Because the embedded type information includes only the types and members that are actually used by a managed assembly, two managed assemblies might have very different views of the same COM type. Each managed assembly has a different Type object to represent its view of the COM type. The common language runtime supports type equivalence between these different views for interfaces, structures, enumerations, and delegates.

Type equivalence means that a COM object that is passed from one managed assembly to another can be cast to the appropriate managed type in the receiving assembly. The IsEquivalentTo method enables an assembly to determine that a COM object obtained from another assembly has the same COM identity as one of the first assembly's own embedded interop types, and thus can be cast to that type.

For more information, see Type Equivalence and Embedded Interop Types.

.NET Framework
Available since 4.0
Return to top
© 2015 Microsoft