Marshal.CreateWrapperOfType Methode

Definitie

Overloads

Name Description
CreateWrapperOfType(Object, Type)
Verouderd.

Verpakt het opgegeven COM-object in een object van het opgegeven type.

CreateWrapperOfType<T,TWrapper>(T)

Verpakt het opgegeven COM-object in een object van het opgegeven type.

CreateWrapperOfType(Object, Type)

Bron:
Marshal.NoCom.cs
Bron:
Marshal.NoCom.cs
Bron:
Marshal.NoCom.cs
Bron:
Marshal.NoCom.cs
Bron:
Marshal.NoCom.cs

Let op

CreateWrapperOfType(Object, Type) may be unavailable in future releases. Instead, use CreateWrapperOfType<T,T2>(T). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296519

Verpakt het opgegeven COM-object in een object van het opgegeven type.

public:
 static System::Object ^ CreateWrapperOfType(System::Object ^ o, Type ^ t);
[System.Obsolete("CreateWrapperOfType(Object, Type) may be unavailable in future releases. Instead, use CreateWrapperOfType<T,T2>(T). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296519")]
[System.Security.SecurityCritical]
public static object CreateWrapperOfType(object o, Type t);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static object? CreateWrapperOfType(object? o, Type t);
[System.Security.SecurityCritical]
public static object CreateWrapperOfType(object o, Type t);
public static object CreateWrapperOfType(object o, Type t);
public static object? CreateWrapperOfType(object? o, Type t);
[<System.Obsolete("CreateWrapperOfType(Object, Type) may be unavailable in future releases. Instead, use CreateWrapperOfType<T,T2>(T). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296519")>]
[<System.Security.SecurityCritical>]
static member CreateWrapperOfType : obj * Type -> obj
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member CreateWrapperOfType : obj * Type -> obj
[<System.Security.SecurityCritical>]
static member CreateWrapperOfType : obj * Type -> obj
static member CreateWrapperOfType : obj * Type -> obj
Public Shared Function CreateWrapperOfType (o As Object, t As Type) As Object

Parameters

o
Object

Het object dat moet worden verpakt.

t
Type

Het type wrapper dat moet worden gemaakt.

Retouren

Het zojuist verpakte object dat een exemplaar van het gewenste type is.

Kenmerken

Uitzonderingen

t moet zijn afgeleid van __ComObject.

– of –

t is een Windows Runtime type.

De t parameter is null.

o kan niet worden geconverteerd naar het doeltype omdat niet alle vereiste interfaces worden ondersteund.

Opmerkingen

CreateWrapperOfType converteert één COM-klassetype, meestal het basistype __ComObject , naar een ander COM-klassetype. Het COM-invoerobject, vertegenwoordigd door parameter o, is een Runtime Callable Wrapper (RCW).

Zowel de als t de o parameters moeten klassen zijn waarvan de handtekeningen worden toegeschreven aan System.Runtime.InteropServices.ComImportAttribute. Het hulpprogramma Tlbimp.exe (Type Library Importer) past dit kenmerk voor u toe wanneer een typebibliotheek wordt geïmporteerd. Als u de RCW handmatig in broncode maakt, moet u dit kenmerk toepassen op de beheerde handtekening die de oorspronkelijke coklasse vertegenwoordigt om de COM-oorsprong te ondertekenen.

Tlbimp.exe importeert een COM-coklasse als een beheerde klasse en een interface. De coclass-interface heeft dezelfde naam als de oorspronkelijke coklasse en de beheerde klasse heeft de oorspronkelijke coclass-naam toegevoegd aan 'Klasse'. Een coklasse die wordt aangeroepen MyCoclass , wordt bijvoorbeeld een coclass-interface die wordt aangeroepen MyCoclass en een beheerde klasse met de naam MyCoclassClass. Aangezien t dit een klasse moet zijn, geen interface, moet u de beheerde klasse (MyCoclassClass) en niet de coklasse-interface opgeven.

Note

U verliest de identiteit van het invoer-COM-object omdat een nieuwe RCW-instantie de IUnknown-aanwijzer verpakt die wordt weergegeven door de oorspronkelijke RCW.

Zie ook

Van toepassing op

CreateWrapperOfType<T,TWrapper>(T)

Bron:
Marshal.NoCom.cs
Bron:
Marshal.NoCom.cs
Bron:
Marshal.NoCom.cs
Bron:
Marshal.NoCom.cs
Bron:
Marshal.NoCom.cs

Verpakt het opgegeven COM-object in een object van het opgegeven type.

public:
generic <typename T, typename TWrapper>
 static TWrapper CreateWrapperOfType(T o);
[System.Security.SecurityCritical]
public static TWrapper CreateWrapperOfType<T,TWrapper>(T o);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static TWrapper CreateWrapperOfType<T,TWrapper>(T? o);
public static TWrapper CreateWrapperOfType<T,TWrapper>(T o);
[<System.Security.SecurityCritical>]
static member CreateWrapperOfType : 'T -> 'Wrapper
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member CreateWrapperOfType : 'T -> 'Wrapper
static member CreateWrapperOfType : 'T -> 'Wrapper
Public Shared Function CreateWrapperOfType(Of T, TWrapper) (o As T) As TWrapper

Type parameters

T

Het type object dat moet worden verpakt.

TWrapper

Het type object dat moet worden geretourneerd.

Parameters

o
T

Het object dat moet worden verpakt.

Retouren

TWrapper

Het zojuist verpakte object.

Kenmerken

Uitzonderingen

T moet zijn afgeleid van __ComObject.

– of –

T is een Windows Runtime type.

o kan niet worden geconverteerd naar de TWrapper omdat deze niet alle vereiste interfaces ondersteunt.

Opmerkingen

CreateWrapperOfType<T,TWrapper>(T) converteert een COM-object van het type T naar het TWrapper COM-klassetype. Het COM-invoerobject, vertegenwoordigd door parameter o, is een Runtime Callable Wrapper (RCW).

Zowel de T algemene typeparameter als de o parameter moeten klassen zijn waarvan de handtekeningen worden toegeschreven aan het System.Runtime.InteropServices.ComImportAttribute kenmerk. Het hulpprogramma Tlbimp.exe (Type Library Importer) past dit kenmerk voor u toe wanneer een typebibliotheek wordt geïmporteerd. Als u de RCW handmatig in broncode maakt, moet u dit kenmerk toepassen op de beheerde handtekening die de oorspronkelijke coklasse vertegenwoordigt om de COM-oorsprong te ondertekenen.

Tlbimp.exe importeert een COM-coklasse als een beheerde klasse en een interface. De coclass-interface heeft dezelfde naam als de oorspronkelijke coklasse en de beheerde klasse heeft de oorspronkelijke coclass-naam toegevoegd aan 'Klasse'. Een coklasse die wordt aangeroepen MyCoclass , wordt bijvoorbeeld een coclass-interface die wordt aangeroepen MyCoclass en een beheerde klasse met de naam MyCoclassClass. OmdatT dit een klasse moet zijn, geen interface, moet u de beheerde klasse (MyCoclassClass) en niet de coclass interface opgeven.

Note

U verliest de identiteit van het COM-invoerobject, omdat een nieuwe RCW-instantie de IUnknown-aanwijzer verpakt die wordt weergegeven door de oorspronkelijke RCW.

Van toepassing op