RuntimeTypeHandle Structure
Définition
Représente un type à l'aide d'un jeton de métadonnées interne.Represents a type using an internal metadata token.
public value class RuntimeTypeHandle : System::Runtime::Serialization::ISerializable
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public struct RuntimeTypeHandle : System.Runtime.Serialization.ISerializable
type RuntimeTypeHandle = struct
interface ISerializable
Public Structure RuntimeTypeHandle
Implements ISerializable
- Héritage
- Attributs
- Implémente
Exemples
L’exemple suivant montre comment obtenir un RuntimeTypeHandle à partir d’un type ou d’un objet, et comment réactiver le handle dans un type.The following example demonstrates how to obtain a RuntimeTypeHandle from a type or from an object, and how to turn the handle back into a type.
using namespace System;
using namespace System::Reflection;
public ref class MyClass1
{
private:
int x;
public:
int MyMethod()
{
return x;
}
};
int main()
{
MyClass1^ myClass1 = gcnew MyClass1;
// Get the RuntimeTypeHandle from an object.
RuntimeTypeHandle myRTHFromObject = Type::GetTypeHandle( myClass1 );
// Get the RuntimeTypeHandle from a type.
RuntimeTypeHandle myRTHFromType = MyClass1::typeid->TypeHandle;
Console::WriteLine( "\nmyRTHFromObject.Value: {0}", myRTHFromObject.Value );
Console::WriteLine( "myRTHFromObject.GetType(): {0}", myRTHFromObject.GetType() );
Console::WriteLine( "Get the type back from the handle..." );
Console::WriteLine( "Type::GetTypeFromHandle(myRTHFromObject): {0}",
Type::GetTypeFromHandle(myRTHFromObject) );
Console::WriteLine( "\nmyRTHFromObject.Equals(myRTHFromType): {0}",
myRTHFromObject.Equals(myRTHFromType) );
Console::WriteLine( "\nmyRTHFromType.Value: {0}", myRTHFromType.Value );
Console::WriteLine( "myRTHFromType.GetType(): {0}", myRTHFromType.GetType() );
Console::WriteLine( "Get the type back from the handle..." );
Console::WriteLine( "Type::GetTypeFromHandle(myRTHFromType): {0}",
Type::GetTypeFromHandle(myRTHFromType) );
}
/* This code example produces output similar to the following:
myRTHFromObject.Value: 3295832
myRTHFromObject.GetType(): System.RuntimeTypeHandle
Get the type back from the handle...
Type::GetTypeFromHandle(myRTHFromObject): MyClass1
myRTHFromObject.Equals(myRTHFromType): True
myRTHFromType.Value: 3295832
myRTHFromType.GetType(): System.RuntimeTypeHandle
Get the type back from the handle...
Type::GetTypeFromHandle(myRTHFromType): MyClass1
*/
using System;
using System.Reflection;
public class MyClass1
{
private int x=0;
public int MyMethod()
{
return x;
}
}
public class MyClass2
{
public static void Main()
{
MyClass1 myClass1 = new MyClass1();
// Get the RuntimeTypeHandle from an object.
RuntimeTypeHandle myRTHFromObject = Type.GetTypeHandle(myClass1);
// Get the RuntimeTypeHandle from a type.
RuntimeTypeHandle myRTHFromType = typeof(MyClass1).TypeHandle;
Console.WriteLine("\nmyRTHFromObject.Value: {0}", myRTHFromObject.Value);
Console.WriteLine("myRTHFromObject.GetType(): {0}", myRTHFromObject.GetType());
Console.WriteLine("Get the type back from the handle...");
Console.WriteLine("Type.GetTypeFromHandle(myRTHFromObject): {0}",
Type.GetTypeFromHandle(myRTHFromObject));
Console.WriteLine("\nmyRTHFromObject.Equals(myRTHFromType): {0}",
myRTHFromObject.Equals(myRTHFromType));
Console.WriteLine("\nmyRTHFromType.Value: {0}", myRTHFromType.Value);
Console.WriteLine("myRTHFromType.GetType(): {0}", myRTHFromType.GetType());
Console.WriteLine("Get the type back from the handle...");
Console.WriteLine("Type.GetTypeFromHandle(myRTHFromType): {0}",
Type.GetTypeFromHandle(myRTHFromType));
}
}
/* This code example produces output similar to the following:
myRTHFromObject.Value: 799464
myRTHFromObject.GetType(): System.RuntimeTypeHandle
Get the type back from the handle...
Type.GetTypeFromHandle(myRTHFromObject): MyClass1
myRTHFromObject.Equals(myRTHFromType): True
myRTHFromType.Value: 799464
myRTHFromType.GetType(): System.RuntimeTypeHandle
Get the type back from the handle...
Type.GetTypeFromHandle(myRTHFromType): MyClass1
*/
Imports System.Reflection
Public Class MyClass1
Private x As Integer = 0
Public Function MyMethod() As Integer
Return x
End Function 'MyMethod
End Class
Public Class MyClass2
Public Shared Sub Main()
Dim myClass1 As New MyClass1()
' Get the RuntimeTypeHandle from an object.
Dim myRTHFromObject As RuntimeTypeHandle = Type.GetTypeHandle(myClass1)
' Get the RuntimeTypeHandle from a type.
Dim myRTHFromType As RuntimeTypeHandle = GetType(MyClass1).TypeHandle
Console.WriteLine(vbLf & "myRTHFromObject.Value: {0}", _
myRTHFromObject.Value)
Console.WriteLine("myRTHFromObject.GetType(): {0}", _
myRTHFromObject.GetType())
Console.WriteLine("Get the type back from the handle...")
Console.WriteLine("Type.GetTypeFromHandle(myRTHFromObject): {0}", _
Type.GetTypeFromHandle(myRTHFromObject))
Console.WriteLine(vbLf & "myRTHFromObject.Equals(myRTHFromType): {0}", _
myRTHFromObject.Equals(myRTHFromType))
Console.WriteLine(vbLf & "myRTHFromType.Value: {0}", _
myRTHFromType.Value)
Console.WriteLine("myRTHFromType.GetType(): {0}", _
myRTHFromType.GetType())
Console.WriteLine("Get the type back from the handle...")
Console.WriteLine("Type.GetTypeFromHandle(myRTHFromType): {0}", _
Type.GetTypeFromHandle(myRTHFromType))
End Sub
End Class
' This code example produces output similar to the following:
'
'myRTHFromObject.Value: 7549720
'myRTHFromObject.GetType(): System.RuntimeTypeHandle
'Get the type back from the handle...
'Type.GetTypeFromHandle(myRTHFromObject): MyClass1
'
'myRTHFromObject.Equals(myRTHFromType): True
'
'myRTHFromType.Value: 7549720
'myRTHFromType.GetType(): System.RuntimeTypeHandle
'Get the type back from the handle...
'Type.GetTypeFromHandle(myRTHFromType): MyClass1
Propriétés
Value |
Obtient un handle du type représenté par cette instance.Gets a handle to the type represented by this instance. |
Méthodes
Equals(Object) |
Indique si l'objet spécifié est égal à la structure RuntimeTypeHandle en cours.Indicates whether the specified object is equal to the current RuntimeTypeHandle structure. |
Equals(RuntimeTypeHandle) |
Indique si la structure RuntimeTypeHandle spécifiée est égale à la structure RuntimeTypeHandle actuelle.Indicates whether the specified RuntimeTypeHandle structure is equal to the current RuntimeTypeHandle structure. |
GetHashCode() |
Retourne le code de hachage pour l'instance actuelle.Returns the hash code for the current instance. |
GetModuleHandle() |
Obtient un handle du module qui contient le type représenté par l'instance actuelle.Gets a handle to the module that contains the type represented by the current instance. |
GetObjectData(SerializationInfo, StreamingContext) |
Remplit SerializationInfo avec les données nécessaires à la désérialisation du type représenté par l'instance actuelle.Populates a SerializationInfo with the data necessary to deserialize the type represented by the current instance. |
Opérateurs
Equality(Object, RuntimeTypeHandle) |
Indique si un objet et une structure RuntimeTypeHandle sont égaux.Indicates whether an object and a RuntimeTypeHandle structure are equal. |
Equality(RuntimeTypeHandle, Object) |
Indique si une structure RuntimeTypeHandle est égale à un objet.Indicates whether a RuntimeTypeHandle structure is equal to an object. |
Inequality(Object, RuntimeTypeHandle) |
Indique si un objet et une structure RuntimeTypeHandle ne sont pas égaux.Indicates whether an object and a RuntimeTypeHandle structure are not equal. |
Inequality(RuntimeTypeHandle, Object) |
Indique si une structure RuntimeTypeHandle n'est pas égale à un objet.Indicates whether a RuntimeTypeHandle structure is not equal to an object. |