Sdílet prostřednictvím


Marshal.GetITypeInfoForType(Type) Metoda

Definice

ITypeInfo Vrátí rozhraní spravovaného typu.

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

Parametry

t
Type

Typ, jehož ITypeInfo rozhraní je požadováno.

Návraty

IntPtr

nativeint

Ukazatel na ITypeInfo rozhraní parametru t .

Atributy

Výjimky

t není viditelným typem modelu COM.

-nebo-

t je typ prostředí Windows Runtime.

Knihovna typů je registrována pro sestavení, které obsahuje typ, ale definice typu nebyla nalezena.

Příklady

Následující příklad ukazuje, jak načíst ukazatel na ITypeInfo rozhraní pro typ pomocí GetITypeInfoForType metody .

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

Poznámky

Tato metoda vrátí ukazatel na implementaci ITypeInfo , která je založená na původním typu. Volání objektu s GetITypeInfoForType způsobí zvýšení počtu odkazů na ukazatel rozhraní před vrácením ukazatele. Vždy používejte Marshal.Release ke snížení počtu odkazů, jakmile s ukazatelem dokončíte. Můžete použít System.Runtime.InteropServices.MarshalAsAttribute k nahrazení standardního chování zařazování zprostředkovatele komunikace tímto vlastním zařazováním.

Platí pro

Viz také