Marshal.GetITypeInfoForType(Type) Metod

Definition

Returnerar ett ITypeInfo gränssnitt från en hanterad typ.

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

Parametrar

t
Type

Den typ vars ITypeInfo gränssnitt begärs.

Returer

IntPtr

nativeint

En pekare till ITypeInfo -gränssnittet för parametern t .

Attribut

Undantag

t är inte en synlig typ för COM.

-eller-

t är en Windows Runtime typ.

Ett typbibliotek registreras för sammansättningen som innehåller typen, men det går inte att hitta typdefinitionen.

Exempel

I följande exempel visas hur du hämtar en pekare till ITypeInfo gränssnittet för en typ med hjälp av GetITypeInfoForType metoden.

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

Kommentarer

Den här metoden returnerar en pekare till en ITypeInfo implementering som baseras på den ursprungliga typen. Om du anropar ett objekt med GetITypeInfoForType ökar referensantalet på gränssnittspekaren innan pekaren returneras. Använd Marshal.Release alltid för att minska referensantalet när du är klar med pekaren. Du kan använda System.Runtime.InteropServices.MarshalAsAttribute för att ersätta standardbeteendet för interop-marskalkning med den här anpassade marskalken.

Gäller för

Se även