RuntimeTypeHandle Struct

Definizione

Rappresenta un tipo utilizzando un token di metadati interno.

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
Ereditarietà
RuntimeTypeHandle
Attributi
Implementazioni

Esempio

Nell'esempio seguente viene illustrato come ottenere un RuntimeTypeHandle oggetto da un tipo o da un oggetto e come ripristinare l'handle in un tipo.

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

Proprietà

Nome Descrizione
Value

Ottiene un handle per il tipo rappresentato da questa istanza.

Metodi

Nome Descrizione
Equals(Object)

Indica se l'oggetto specificato è uguale alla struttura corrente RuntimeTypeHandle .

Equals(RuntimeTypeHandle)

Indica se la struttura specificata RuntimeTypeHandle è uguale alla struttura corrente RuntimeTypeHandle .

FromIntPtr(IntPtr)

Restituisce un nuovo RuntimeTypeHandle oggetto creato da un handle a un oggetto RuntimeType.

GetHashCode()

Restituisce il codice hash per l'istanza corrente.

GetModuleHandle()

Ottiene un handle per il modulo che contiene il tipo rappresentato dall'istanza corrente.

GetObjectData(SerializationInfo, StreamingContext)
Obsoleti.

Popola un oggetto SerializationInfo con i dati necessari per deserializzare il tipo rappresentato dall'istanza corrente.

ToIntPtr(RuntimeTypeHandle)

Restituisce la rappresentazione del puntatore interno di un RuntimeTypeHandle oggetto .

Operatori

Nome Descrizione
Equality(Object, RuntimeTypeHandle)

Indica se un oggetto e una RuntimeTypeHandle struttura sono uguali.

Equality(RuntimeTypeHandle, Object)

Indica se una RuntimeTypeHandle struttura è uguale a un oggetto .

Inequality(Object, RuntimeTypeHandle)

Indica se un oggetto e una RuntimeTypeHandle struttura non sono uguali.

Inequality(RuntimeTypeHandle, Object)

Indica se una RuntimeTypeHandle struttura non è uguale a un oggetto .

Si applica a