Marshal.GetITypeInfoForType(Type) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
nativeint
En pekare till ITypeInfo -gränssnittet för parametern t .
- Attribut
Undantag
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.