Langage

RuntimeTypeHandle Structure

Définition

Représente un type à l’aide d’un jeton de métadonnées interne.

public value class RuntimeTypeHandle
public value class RuntimeTypeHandle : IEquatable<RuntimeTypeHandle>, System::Runtime::Serialization::ISerializable
public value class RuntimeTypeHandle : System::Runtime::Serialization::ISerializable
public struct RuntimeTypeHandle
public struct RuntimeTypeHandle : IEquatable<RuntimeTypeHandle>, System.Runtime.Serialization.ISerializable
public struct RuntimeTypeHandle : System.Runtime.Serialization.ISerializable
[System.Serializable]
public struct RuntimeTypeHandle : System.Runtime.Serialization.ISerializable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public struct RuntimeTypeHandle : System.Runtime.Serialization.ISerializable
type RuntimeTypeHandle = struct
type RuntimeTypeHandle = struct
    interface ISerializable
[<System.Serializable>]
type RuntimeTypeHandle = struct
    interface ISerializable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type RuntimeTypeHandle = struct
    interface ISerializable
Public Structure RuntimeTypeHandle
Public Structure RuntimeTypeHandle
Implements IEquatable(Of RuntimeTypeHandle), ISerializable
Public Structure RuntimeTypeHandle
Implements ISerializable
Héritage
RuntimeTypeHandle
Attributs
Implémente

Exemples

L’exemple suivant montre comment obtenir un RuntimeTypeHandle type ou à partir d’un objet et comment transformer le handle en type.

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
 */
open System

type MyClass1() =
    let x = 0
    member _.MyMethod() =
        x

let myClass1 = MyClass1()

// Get the RuntimeTypeHandle from an object.
let myRTHFromObject = Type.GetTypeHandle myClass1
// Get the RuntimeTypeHandle from a type.
let myRTHFromType = typeof<MyClass1>.TypeHandle

printfn $"\nmyRTHFromObject.Value:  {myRTHFromObject.Value}"
printfn $"myRTHFromObject.GetType():  {myRTHFromObject.GetType()}"
printfn "Get the type back from the handle..."
printfn $"Type.GetTypeFromHandle(myRTHFromObject):  {Type.GetTypeFromHandle myRTHFromObject}"

printfn $"\nmyRTHFromObject.Equals(myRTHFromType):  {myRTHFromObject.Equals myRTHFromType}"

printfn $"\nmyRTHFromType.Value:  {myRTHFromType.Value}"
printfn $"myRTHFromType.GetType():  {myRTHFromType.GetType()}"
printfn "Get the type back from the handle..."
printfn $"Type.GetTypeFromHandle(myRTHFromType):  {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

Nom Description
Value

Obtient un handle pour le type représenté par cette instance.

Méthodes

Nom Description
Equals(Object)

Indique si l’objet spécifié est égal à la structure actuelle RuntimeTypeHandle .

Equals(RuntimeTypeHandle)

Indique si la structure spécifiée RuntimeTypeHandle est égale à la structure actuelle RuntimeTypeHandle .

FromIntPtr(IntPtr)

Retourne un nouvel RuntimeTypeHandle objet créé à partir d’un handle vers un RuntimeType.

GetHashCode()

Retourne le code de hachage de l’instance actuelle.

GetModuleHandle()

Obtient un handle pour le module qui contient le type représenté par l’instance actuelle.

GetObjectData(SerializationInfo, StreamingContext)
Obsolète.

Remplit les SerializationInfo données nécessaires pour désérialiser le type représenté par l’instance actuelle.

ToIntPtr(RuntimeTypeHandle)

Retourne la représentation interne du pointeur d’un RuntimeTypeHandle objet.

Opérateurs

Nom Description
Equality(Object, RuntimeTypeHandle)

Indique si un objet et une RuntimeTypeHandle structure sont égaux.

Equality(RuntimeTypeHandle, Object)

Indique si une RuntimeTypeHandle structure est égale à un objet.

Inequality(Object, RuntimeTypeHandle)

Indique si un objet et une RuntimeTypeHandle structure ne sont pas égaux.

Inequality(RuntimeTypeHandle, Object)

Indique si une RuntimeTypeHandle structure n’est pas égale à un objet.

S’applique à