Bagikan melalui


Marshal.GetITypeInfoForType(Type) Metode

Definisi

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

IntPtr

nativeint

Penunjuk ke ITypeInfo antarmuka untuk t parameter .

Atribut

Pengecualian

t bukan jenis yang terlihat untuk COM.

-atau-

t adalah jenis Windows Runtime.

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.

Berlaku untuk

Lihat juga