Type.TypeHandle 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 Type에 대한 핸들을 가져옵니다.
public:
virtual property RuntimeTypeHandle TypeHandle { RuntimeTypeHandle get(); };
public:
abstract property RuntimeTypeHandle TypeHandle { RuntimeTypeHandle get(); };
public virtual RuntimeTypeHandle TypeHandle { get; }
public abstract RuntimeTypeHandle TypeHandle { get; }
member this.TypeHandle : RuntimeTypeHandle
Public Overridable ReadOnly Property TypeHandle As RuntimeTypeHandle
Public MustOverride ReadOnly Property TypeHandle As RuntimeTypeHandle
속성 값
현재 Type에 대한 핸들입니다.
구현
예외
.NET Compact Framework에서는 현재 이 속성을 지원하지 않습니다.
예제
다음 예제에서는 해당 형식의 핸들을 반환 하 고 핸들을 핸들에서 가져온 형식을 가져오고이를 표시 하는 메서드에 전달 합니다.
using namespace System;
using namespace System::Reflection;
ref class MyClass
{
public:
int myField;
};
void DisplayTypeHandle( RuntimeTypeHandle myTypeHandle )
{
// Get the type from the handle.
Type^ myType = Type::GetTypeFromHandle( myTypeHandle );
// Display the type.
Console::WriteLine( "\nDisplaying the type from the handle:\n" );
Console::WriteLine( "The type is {0}.", myType );
}
int main()
{
try
{
MyClass^ myClass = gcnew MyClass;
// Get the type of MyClass.
Type^ myClassType = myClass->GetType();
// Get the runtime handle of MyClass.
RuntimeTypeHandle myClassHandle = myClassType->TypeHandle;
DisplayTypeHandle( myClassHandle );
}
catch ( Exception^ e )
{
Console::WriteLine( "Exception: {0}", e->Message );
}
}
using System;
using System.Reflection;
class MyClass
{
public int myField = 10;
}
class Type_TypeHandle
{
public static void Main()
{
try
{
MyClass myClass = new MyClass();
// Get the type of MyClass.
Type myClassType = myClass.GetType();
// Get the runtime handle of MyClass.
RuntimeTypeHandle myClassHandle = myClassType.TypeHandle;
DisplayTypeHandle(myClassHandle);
}
catch(Exception e)
{
Console.WriteLine("Exception: {0}", e.Message );
}
}
public static void DisplayTypeHandle(RuntimeTypeHandle myTypeHandle)
{
// Get the type from the handle.
Type myType = Type.GetTypeFromHandle(myTypeHandle);
// Display the type.
Console.WriteLine("\nDisplaying the type from the handle:\n");
Console.WriteLine("The type is {0}.", myType.ToString());
}
}
Imports System.Reflection
Class [MyClass]
Public myField As Integer = 10
End Class
Class Type_TypeHandle
Public Shared Sub Main()
Try
Dim [myClass] As New [MyClass]()
' Get the type of MyClass.
Dim myClassType As Type = [myClass].GetType()
' Get the runtime handle of MyClass.
Dim myClassHandle As RuntimeTypeHandle = myClassType.TypeHandle
DisplayTypeHandle(myClassHandle)
Catch e As Exception
Console.WriteLine("Exception: {0}", e.Message.ToString())
End Try
End Sub
Public Shared Sub DisplayTypeHandle(ByVal myTypeHandle As RuntimeTypeHandle)
' Get the type from the handle.
Dim myType As Type = Type.GetTypeFromHandle(myTypeHandle)
' Display the type.
Console.WriteLine(ControlChars.NewLine + "Displaying the type from the handle:" + ControlChars.NewLine)
Console.WriteLine("The type is {0}.", myType.ToString())
End Sub
End Class
설명
TypeHandle
형식을 나타내는 내부 데이터 구조에 대 한 포인터를 캡슐화 합니다. 이 핸들은 프로세스 수명 중에 고유 합니다. 핸들을 얻은 애플리케이션 도메인에만 유효 합니다.