Marshal.GetITypeInfoForType(Type) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
マネージド型から ITypeInfo インターフェイスを返します。
public:
static IntPtr GetITypeInfoForType(Type ^ t);
public static IntPtr GetITypeInfoForType (Type t);
[System.Security.SecurityCritical]
public static IntPtr GetITypeInfoForType (Type t);
static member GetITypeInfoForType : Type -> nativeint
[<System.Security.SecurityCritical>]
static member GetITypeInfoForType : Type -> nativeint
Public Shared Function GetITypeInfoForType (t As Type) As IntPtr
パラメーター
- t
- Type
要求されている ITypeInfo
インターフェイスを持つ型。
戻り値
IntPtr
nativeint
t
パラメーターの ITypeInfo
インターフェイスへのポインター。
- 属性
例外
型を格納するアセンブリのタイプ ライブラリが登録されていますが、型定義が見つかりません。
例
次の例では、 メソッドを使用して型の ITypeInfo
インターフェイスへのポインターを取得する方法を GetITypeInfoForType 示します。
using System;
using System.Runtime.InteropServices;
class Program
{
static void Run()
{
Console.WriteLine("Calling Marshal.GetITypeInfoForType...");
// Get the ITypeInfo pointer for an Object type
IntPtr pointer = Marshal.GetITypeInfoForType(typeof(object));
Console.WriteLine("Calling Marshal.Release...");
// Always call Marshal.Release to decrement the reference count.
Marshal.Release(pointer);
}
static void Main(string[] args)
{
Run();
}
}
Imports System.Runtime.InteropServices
Module Program
Sub Run()
' Dim a pointer
Dim pointer As IntPtr
Console.WriteLine("Calling Marshal.GetIUnknownForObjectInContext...")
' Get the ITypeInfo pointer for an Object type
pointer = Marshal.GetITypeInfoForType(Type.GetType("System.Object"))
Console.WriteLine("Calling Marshal.Release...")
' Always call Marshal.Release to decrement the reference count.
Marshal.Release(pointer)
End Sub
Sub Main(ByVal args() As String)
Run()
End Sub
End Module
注釈
このメソッドは、元の型に基づく実装への ITypeInfo
ポインターを返します。 を使用 GetITypeInfoForType して オブジェクトを呼び出すと、ポインターが返される前に、インターフェイス ポインターの参照カウントがインクリメントされます。 ポインターが終了したら、常に を使用 Marshal.Release して参照カウントをデクリメントします。 を適用 System.Runtime.InteropServices.MarshalAsAttribute して、標準の相互運用マーシャリング動作をこのカスタム マーシャラーに置き換えることができます。
適用対象
こちらもご覧ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET