Type::IsInstanceOfType Method (Object^)
Determines whether the specified object is an instance of the current Type.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- o
-
Type:
System::Object^
The object to compare with the current type.
Return Value
Type: System::Booleantrue if the current Type is in the inheritance hierarchy of the object represented by o, or if the current Type is an interface that o implements. false if neither of these conditions is the case, if o is null, or if the current Type is an open generic type (that is, ContainsGenericParameters returns true).
Implements
_Type::IsInstanceOfType(Object^)This method can be overridden by a derived class.
Note |
|---|
A constructed type is not an instance of its generic type definition. That is, MyGenericList<int> (MyGenericList(Of Integer) in Visual Basic) is not an instance of MyGenericList<T> (MyGenericList(Of T) in Visual Basic). |
The following example demonstrates the use of the IsInstanceOfType method.
using namespace System; public interface class IExample{}; public ref class BaseClass: IExample{}; public ref class DerivedClass: BaseClass{}; void main() { Type^ interfaceType = IExample::typeid; BaseClass^ base1 = gcnew BaseClass; Type^ base1Type = base1->GetType(); BaseClass^ derived1 = gcnew DerivedClass; Type^ derived1Type = derived1->GetType(); array<Int32>^ arr = gcnew array<Int32>(11); Type^ arrayType = Array::typeid; Console::WriteLine("Is Int32[] an instance of the Array class? {0}.", arrayType->IsInstanceOfType( arr ) ); Console::WriteLine("Is myclass an instance of BaseClass? {0}.", base1Type->IsInstanceOfType( base1 ) ); Console::WriteLine("Is myderivedclass an instance of BaseClass? {0}.", base1Type->IsInstanceOfType( derived1 ) ); Console::WriteLine("Is myclass an instance of IExample? {0}.", interfaceType->IsInstanceOfType( base1 ) ); Console::WriteLine("Is myderivedclass an instance of IExample? {0}.", interfaceType->IsInstanceOfType( derived1 ) ); } // The example displays the following output: // Is int[] an instance of the Array class? True. // Is base1 an instance of BaseClass? True. // Is derived1 an instance of BaseClass? True. // Is base1 an instance of IExample? True. // Is derived1 an instance of IExample? True.
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
