RuntimeTypeHandle Struktura
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje typ przy użyciu wewnętrznego tokenu metadanych.
public value class RuntimeTypeHandle
public value class RuntimeTypeHandle : System::Runtime::Serialization::ISerializable
public value class RuntimeTypeHandle : IEquatable<RuntimeTypeHandle>, System::Runtime::Serialization::ISerializable
public struct RuntimeTypeHandle
public struct RuntimeTypeHandle : System.Runtime.Serialization.ISerializable
public struct RuntimeTypeHandle : IEquatable<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 ISerializable
Public Structure RuntimeTypeHandle
Implements IEquatable(Of RuntimeTypeHandle), ISerializable
- Dziedziczenie
- Atrybuty
- Implementuje
Przykłady
W poniższym przykładzie pokazano, jak uzyskać obiekt RuntimeTypeHandle z typu lub z obiektu oraz jak przekształcić uchwyt z powrotem w typ.
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
*/
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
Właściwości
Value |
Pobiera dojście do typu reprezentowanego przez to wystąpienie. |
Metody
Equals(Object) |
Wskazuje, czy określony obiekt jest równy bieżącej RuntimeTypeHandle strukturze. |
Equals(RuntimeTypeHandle) |
Wskazuje, czy określona RuntimeTypeHandle struktura jest równa bieżącej RuntimeTypeHandle strukturze. |
FromIntPtr(IntPtr) |
Zwraca nowy RuntimeTypeHandle obiekt utworzony na podstawie uchwytu do typu runtimeType. |
GetHashCode() |
Zwraca kod skrótu dla bieżącego wystąpienia. |
GetModuleHandle() |
Pobiera dojście do modułu zawierającego typ reprezentowany przez bieżące wystąpienie. |
GetObjectData(SerializationInfo, StreamingContext) |
Wypełnia obiekt SerializationInfo danymi niezbędnymi do deserializacji typu reprezentowanego przez bieżące wystąpienie. |
ToIntPtr(RuntimeTypeHandle) |
Zwraca wewnętrzną reprezentację RuntimeTypeHandle wskaźnika obiektu. |
Operatory
Equality(Object, RuntimeTypeHandle) |
Wskazuje, czy obiekt i RuntimeTypeHandle struktura są równe. |
Equality(RuntimeTypeHandle, Object) |
Wskazuje, czy RuntimeTypeHandle struktura jest równa obiektowi. |
Inequality(Object, RuntimeTypeHandle) |
Wskazuje, czy obiekt i RuntimeTypeHandle struktura nie są równe. |
Inequality(RuntimeTypeHandle, Object) |
Wskazuje, czy RuntimeTypeHandle struktura nie jest równa obiektowi. |