Type.TypeHandle-Eigenschaft
Ruft das Handle für den aktuellen Type ab.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Overridable ReadOnly Property TypeHandle As RuntimeTypeHandle
'Usage
Dim instance As Type
Dim value As RuntimeTypeHandle
value = instance.TypeHandle
public virtual RuntimeTypeHandle TypeHandle { get; }
public:
virtual property RuntimeTypeHandle TypeHandle {
RuntimeTypeHandle get ();
}
/** @property */
public RuntimeTypeHandle get_TypeHandle ()
public function get TypeHandle () : RuntimeTypeHandle
Eigenschaftenwert
Das Handle für den aktuellen Type.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
In .NET Compact Framework wird diese Eigenschaft gegenwärtig nicht unterstützt. |
Hinweise
TypeHandle kapselt einen Zeiger auf eine interne Datenstruktur, die einen Typ darstellt. Das Handle ist innerhalb der Lebenszeit des Prozesses eindeutig. Die Handles sind nur in der Anwendungsdomäne gültig, in der sie angefordert wurden.
Beispiel
Im folgenden Beispiel wird das Handle des zugeordneten Typs zurückgegeben. Das Handle wird dann an eine Methode übergeben, die den Typ des Handles abruft und anzeigt.
Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic
Class [MyClass]
Public myField As Integer = 10
End Class '[MyClass]
Class Type_TypeHandle
Public Shared Sub Main()
Try
Dim [myClass] As New [MyClass]()
' Get the type of MyClass.
Dim myClassType As Type = [myClass].GetType()
' Get the runtime handle of MyClass.
Dim myClassHandle As RuntimeTypeHandle = myClassType.TypeHandle
DisplayTypeHandle(myClassHandle)
Catch e As Exception
Console.WriteLine("Exception: {0}", e.Message.ToString())
End Try
End Sub 'Main
Public Shared Sub DisplayTypeHandle(ByVal myTypeHandle As RuntimeTypeHandle)
' Get the type from the handle.
Dim myType As Type = Type.GetTypeFromHandle(myTypeHandle)
' Display the type.
Console.WriteLine(ControlChars.NewLine + "Displaying the type from the handle:" + ControlChars.NewLine)
Console.WriteLine("The type is {0}.", myType.ToString())
End Sub 'DisplayTypeHandle
End Class 'Type_TypeHandle
using System;
using System.Reflection;
class MyClass
{
public int myField = 10;
}
class Type_TypeHandle
{
public static void Main()
{
try
{
MyClass myClass = new MyClass();
// Get the type of MyClass.
Type myClassType = myClass.GetType();
// Get the runtime handle of MyClass.
RuntimeTypeHandle myClassHandle = myClassType.TypeHandle;
DisplayTypeHandle(myClassHandle);
}
catch(Exception e)
{
Console.WriteLine("Exception: {0}", e.Message );
}
}
public static void DisplayTypeHandle(RuntimeTypeHandle myTypeHandle)
{
// Get the type from the handle.
Type myType = Type.GetTypeFromHandle(myTypeHandle);
// Display the type.
Console.WriteLine("\nDisplaying the type from the handle:\n");
Console.WriteLine("The type is {0}.", myType.ToString());
}
}
using namespace System;
using namespace System::Reflection;
ref class MyClass
{
public:
int myField;
};
void DisplayTypeHandle( RuntimeTypeHandle myTypeHandle )
{
// Get the type from the handle.
Type^ myType = Type::GetTypeFromHandle( myTypeHandle );
// Display the type.
Console::WriteLine( "\nDisplaying the type from the handle:\n" );
Console::WriteLine( "The type is {0}.", myType );
}
int main()
{
try
{
MyClass^ myClass = gcnew MyClass;
// Get the type of MyClass.
Type^ myClassType = myClass->GetType();
// Get the runtime handle of MyClass.
RuntimeTypeHandle myClassHandle = myClassType->TypeHandle;
DisplayTypeHandle( myClassHandle );
}
catch ( Exception^ e )
{
Console::WriteLine( "Exception: {0}", e->Message );
}
}
import System.*;
import System.Reflection.*;
class MyClass
{
public int myField = 10;
} //MyClass
class Type_TypeHandle
{
public static void main(String[] args)
{
try {
MyClass myClass = new MyClass();
// Get the type of MyClass.
Type myClassType = myClass.GetType();
// Get the runtime handle of MyClass.
RuntimeTypeHandle myClassHandle = myClassType.get_TypeHandle();
DisplayTypeHandle(myClassHandle);
}
catch (System.Exception e) {
Console.WriteLine("Exception: {0}", e.get_Message());
}
} //main
public static void DisplayTypeHandle(RuntimeTypeHandle myTypeHandle)
{
// Get the type from the handle.
Type myType = Type.GetTypeFromHandle(myTypeHandle);
// Display the type.
Console.WriteLine("\nDisplaying the type from the handle:\n");
Console.WriteLine("The type is {0}.", myType.ToString());
} //DisplayTypeHandle
} //Type_TypeHandle
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
Type-Klasse
Type-Member
System-Namespace
RuntimeTypeHandle-Struktur
GetTypeHandle
GetTypeFromHandle