Marshal.GetITypeInfoForType(Type) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
nativeint
Ukazatel na ITypeInfo
rozhraní parametru t
.
- Atributy
Výjimky
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.