Marshal.GetITypeInfoForType(Type) Methode

Definition

Gibt eine ITypeInfo Schnittstelle aus einem verwalteten Typ zurück.

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

Der Typ, dessen ITypeInfo Schnittstelle angefordert wird.

Gibt zurück

IntPtr

nativeint

Ein Zeiger auf die ITypeInfo Schnittstelle für den t Parameter.

Attribute

Ausnahmen

t ist kein sichtbarer Typ für COM.

-oder-

t ist ein Windows-Runtime Typ.

Eine Typbibliothek ist für die Assembly registriert, die den Typ enthält, aber die Typdefinition kann nicht gefunden werden.

Beispiele

Im folgenden Beispiel wird das Abrufen eines Zeigers auf die ITypeInfo Schnittstelle für einen Typ mithilfe der GetITypeInfoForType Methode veranschaulicht.

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

Hinweise

Diese Methode gibt einen Zeiger auf eine ITypeInfo Implementierung zurück, die auf dem ursprünglichen Typ basiert. Durch Aufrufen eines Objekts wird GetITypeInfoForType die Verweisanzahl auf dem Schnittstellenzeiger erhöht, bevor der Zeiger zurückgegeben wird. Verwenden Sie immer, Marshal.Release um die Referenzanzahl zu erhöhen, sobald Sie mit dem Zeiger fertig sind. Sie können das System.Runtime.InteropServices.MarshalAsAttribute standardmäßige Interop marshaling-Verhalten durch diesen benutzerdefinierten Marshaler ersetzen.

Gilt für:

Weitere Informationen