RuntimeTypeHandle 结构
表示使用内部元数据标记的类型。
**命名空间:**System
**程序集:**mscorlib(在 mscorlib.dll 中)
语法
声明
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Structure RuntimeTypeHandle
Implements ISerializable
用法
Dim instance As RuntimeTypeHandle
[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct RuntimeTypeHandle : ISerializable
[SerializableAttribute]
[ComVisibleAttribute(true)]
public value class RuntimeTypeHandle : ISerializable
/** @attribute SerializableAttribute() */
/** @attribute ComVisibleAttribute(true) */
public final class RuntimeTypeHandle extends ValueType implements ISerializable
JScript 支持使用结构,但不支持进行新的声明。
示例
下面的示例说明如何获取 RuntimeTypeHandle。
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 'MyClass1
_
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("myRTHFromObject.Value: {0}", myRTHFromObject.Value)
Console.WriteLine("myRTHFromObject.Type: {0}", myRTHFromObject.GetType())
Console.WriteLine("myRTHFromType.Value: {0}", myRTHFromType.Value)
Console.WriteLine("myRTHFromType.Type: {0}", myRTHFromType.GetType())
End Sub 'Main
End Class 'MyClass2
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("myRTHFromObject.Value: {0}", myRTHFromObject.Value);
Console.WriteLine("myRTHFromObject.Type: {0}", myRTHFromObject.GetType());
Console.WriteLine("myRTHFromType.Value: {0}", myRTHFromType.Value);
Console.WriteLine("myRTHFromType.Type: {0}", myRTHFromType.GetType());
}
}
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( "myRTHFromObject.Value: {0}", myRTHFromObject.Value );
Console::WriteLine( "myRTHFromObject.Type: {0}", myRTHFromObject.GetType() );
Console::WriteLine( "myRTHFromType.Value: {0}", myRTHFromType.Value );
Console::WriteLine( "myRTHFromType.Type: {0}", myRTHFromType.GetType() );
}
import System.*;
import System.Reflection.*;
public class MyClass1
{
private int x = 0;
public int MyMethod()
{
return x;
} //MyMethod
} //MyClass1
public class MyClass2
{
public static void main(String[] args)
{
MyClass1 myClass1 = new MyClass1();
// Get the RuntimeTypeHandle from an object.
RuntimeTypeHandle myRTHFromObject = Type.GetTypeHandle(myClass1);
// Get the RuntimeTypeHandle from a type.
RuntimeTypeHandle myRTHFromType = (MyClass1.class.ToType()).
get_TypeHandle();
Console.WriteLine("myRTHFromObject.Value: {0}", myRTHFromObject.
get_Value());
Console.WriteLine("myRTHFromObject.Type: {0}", myRTHFromObject.
GetType());
Console.WriteLine("myRTHFromType.Value: {0}", myRTHFromType.
get_Value());
Console.WriteLine("myRTHFromType.Type: {0}", myRTHFromType.
GetType());
}//main
} //MyClass2
线程安全
此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。
平台
Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0
.NET Compact Framework
受以下版本支持:2.0、1.0