Marshal.GetITypeInfoForType(Type) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
nativeint
Ein Zeiger auf die ITypeInfo Schnittstelle für den t Parameter.
- Attribute
Ausnahmen
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.