Object.GetType Method
.NET Framework 2.0
Gets the Type of the current instance.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Assembly: mscorlib (in mscorlib.dll)
For two objects x and y that have identical runtime types, Object.ReferenceEquals(x.GetType(),y.GetType()) returns true.
The Type object exposes the metadata associated with the class of the current Object.
The following code example demonstrates that GetType returns the runtime type of the current instance.
using namespace System; public ref class MyBaseClass: public Object{}; public ref class MyDerivedClass: public MyBaseClass{}; int main() { MyBaseClass^ myBase = gcnew MyBaseClass; MyDerivedClass^ myDerived = gcnew MyDerivedClass; Object^ o = myDerived; MyBaseClass^ b = myDerived; Console::WriteLine( "mybase: Type is {0}", myBase->GetType() ); Console::WriteLine( "myDerived: Type is {0}", myDerived->GetType() ); Console::WriteLine( "object o = myDerived: Type is {0}", o->GetType() ); Console::WriteLine( "MyBaseClass b = myDerived: Type is {0}", b->GetType() ); } /* This code produces the following output. mybase: Type is MyBaseClass myDerived: Type is MyDerivedClass object o = myDerived: Type is MyDerivedClass MyBaseClass b = myDerived: Type is MyDerivedClass */
import System.*;
public class MyBaseClass extends Object
{
} //MyBaseClass
public class MyDerivedClass extends MyBaseClass
{
} //MyDerivedClass
public class Test
{
public static void main(String[] args)
{
MyBaseClass myBase = new MyBaseClass();
MyDerivedClass myDerived = new MyDerivedClass();
Object o = myDerived;
MyBaseClass b = myDerived;
Console.WriteLine("mybase: Type is {0}", myBase.GetType());
Console.WriteLine("myDerived: Type is {0}", myDerived.GetType());
Console.WriteLine("object o = myDerived: Type is {0}", o.GetType());
Console.WriteLine("MyBaseClass b = myDerived: Type is {0}", b.GetType());
} //main
} //Test
/*
This code produces the following output.
mybase: Type is MyBaseClass
myDerived: Type is MyDerivedClass
object o = myDerived: Type is MyDerivedClass
MyBaseClass b = myDerived: Type is MyDerivedClass
*/
import System public class MyBaseClass extends Object { } public class MyDerivedClass extends MyBaseClass { } public class Test { public static function Main() { var myBase : MyBaseClass = new MyBaseClass(); var myDerived : MyDerivedClass = new MyDerivedClass(); var o = myDerived; var b : MyBaseClass = myDerived; Console.WriteLine("mybase: Type is {0}", myBase.GetType()); Console.WriteLine("myDerived: Type is {0}", myDerived.GetType()); Console.WriteLine("object o = myDerived: Type is {0}", o.GetType()); Console.WriteLine("MyBaseClass b = myDerived: Type is {0}", b.GetType()); } } Test.Main(); /* This code produces the following output. mybase: Type is MyBaseClass myDerived: Type is MyDerivedClass object o = myDerived: Type is MyDerivedClass MyBaseClass b = myDerived: Type is MyDerivedClass */
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.
Community Additions
ADD
Show: