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í ze 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í pro t
parametr .
- 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. Po dokončení práce s ukazatelem vždy použijte Marshal.Release ke snížení počtu odkazů. Můžete použít System.Runtime.InteropServices.MarshalAsAttribute k nahrazení standardní chování zařazování zprostředkovatele komunikace tímto vlastním zařazováním.
Platí pro
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro