Marshal.GetITypeInfoForType(Type) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengembalikan ITypeInfo antarmuka dari jenis terkelola.
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
Parameter
- t
- Type
Jenis yang antarmukanya ITypeInfo
sedang diminta.
Mengembalikan
nativeint
Penunjuk ke ITypeInfo
antarmuka untuk t
parameter .
- Atribut
Pengecualian
Pustaka jenis terdaftar untuk rakitan yang berisi jenis, tetapi definisi jenis tidak dapat ditemukan.
Contoh
Contoh berikut menunjukkan cara mengambil pointer ke ITypeInfo
antarmuka untuk jenis menggunakan GetITypeInfoForType metode .
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
Keterangan
Metode ini mengembalikan penunjuk ke ITypeInfo
implementasi yang didasarkan pada jenis aslinya. Memanggil objek dengan GetITypeInfoForType menyebabkan jumlah referensi bertambah pada penunjuk antarmuka sebelum penunjuk dikembalikan. Selalu gunakan Marshal.Release untuk mengurangi jumlah referensi setelah Anda selesai dengan penunjuk. Anda dapat menerapkan System.Runtime.InteropServices.MarshalAsAttribute untuk mengganti perilaku marshaling interop standar dengan marshaler kustom ini.