Type.TypeHandle Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient le handle de la Typeactuelle.
public:
virtual property RuntimeTypeHandle TypeHandle { RuntimeTypeHandle get(); };
public:
abstract property RuntimeTypeHandle TypeHandle { RuntimeTypeHandle get(); };
public virtual RuntimeTypeHandle TypeHandle { get; }
public abstract RuntimeTypeHandle TypeHandle { get; }
member this.TypeHandle : RuntimeTypeHandle
Public Overridable ReadOnly Property TypeHandle As RuntimeTypeHandle
Public MustOverride ReadOnly Property TypeHandle As RuntimeTypeHandle
Valeur de propriété
Handle pour le handle actuel Type.
Implémente
Exceptions
Le .NET Compact Framework ne prend actuellement pas en charge cette propriété.
Exemples
L’exemple suivant retourne le handle du type correspondant et transmet le handle à une méthode qui obtient le type du handle et l’affiche.
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());
}
}
open System
type MyClass() =
let myField = 10
let displayTypeHandle (myTypeHandle: RuntimeTypeHandle) =
// Get the type from the handle.
let myType = Type.GetTypeFromHandle myTypeHandle
// Display the type.
printfn $"\nDisplaying the type from the handle:\n"
printfn $"The type is {myType}."
let myClass = MyClass()
// Get the type of MyClass.
let myClassType = myClass.GetType()
// Get the runtime handle of MyClass.
let myClassHandle = myClassType.TypeHandle
displayTypeHandle myClassHandle
Imports System.Reflection
Class [MyClass]
Public myField As Integer = 10
End Class
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
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
End Class
Remarques
TypeHandle encapsule un pointeur vers une structure de données interne qui représente le type. Ce handle est unique pendant la durée de vie du processus. Le handle est valide uniquement dans le domaine d’application dans lequel il a été obtenu.