RuntimeTypeHandle RuntimeTypeHandle RuntimeTypeHandle RuntimeTypeHandle Struct

Определение

Предоставляет тип, использующий маркер внутренних метаданных.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
Наследование
RuntimeTypeHandleRuntimeTypeHandleRuntimeTypeHandleRuntimeTypeHandle
Атрибуты
Реализации

Примеры

В следующем примере демонстрируется получение RuntimeTypeHandle из типа или объект и способы включения дескриптор обратно в тип.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
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

Свойства

Value Value Value Value

Возвращает дескриптор типа, представленного данным экземпляром.Gets a handle to the type represented by this instance.

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Показывает, равен ли указанный объект текущей структуре RuntimeTypeHandle.Indicates whether the specified object is equal to the current RuntimeTypeHandle structure.

Equals(RuntimeTypeHandle) Equals(RuntimeTypeHandle) Equals(RuntimeTypeHandle) Equals(RuntimeTypeHandle)

Указывает, равна ли заданная структура RuntimeTypeHandle текущей структуре RuntimeTypeHandle.Indicates whether the specified RuntimeTypeHandle structure is equal to the current RuntimeTypeHandle structure.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Возвращает хэш-код текущего экземпляра.Returns the hash code for the current instance.

GetModuleHandle() GetModuleHandle() GetModuleHandle() GetModuleHandle()

Возвращает дескриптор модуля, содержащего тип, представленный данным экземпляром.Gets a handle to the module that contains the type represented by the current instance.

GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

Заполняет SerializationInfo данными, которые необходимы для десериализации типа, представленного текущим экземпляром.Populates a SerializationInfo with the data necessary to deserialize the type represented by the current instance.

Операторы

Equality(Object, RuntimeTypeHandle) Equality(Object, RuntimeTypeHandle) Equality(Object, RuntimeTypeHandle) Equality(Object, RuntimeTypeHandle)

Указывает, равны ли объект и структура RuntimeTypeHandle.Indicates whether an object and a RuntimeTypeHandle structure are equal.

Equality(RuntimeTypeHandle, Object) Equality(RuntimeTypeHandle, Object) Equality(RuntimeTypeHandle, Object) Equality(RuntimeTypeHandle, Object)

Указывает, равна ли структура RuntimeTypeHandle объекту.Indicates whether a RuntimeTypeHandle structure is equal to an object.

Inequality(Object, RuntimeTypeHandle) Inequality(Object, RuntimeTypeHandle) Inequality(Object, RuntimeTypeHandle) Inequality(Object, RuntimeTypeHandle)

Указывает, являются ли объект и структура RuntimeTypeHandle неравными.Indicates whether an object and a RuntimeTypeHandle structure are not equal.

Inequality(RuntimeTypeHandle, Object) Inequality(RuntimeTypeHandle, Object) Inequality(RuntimeTypeHandle, Object) Inequality(RuntimeTypeHandle, Object)

Указывает, является ли структура RuntimeTypeHandle неравной объекту.Indicates whether a RuntimeTypeHandle structure is not equal to an object.

Применяется к