Marshal.CreateWrapperOfType Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
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
Het zojuist verpakte object.
- Kenmerken
Uitzonderingen
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.