Marshal.CreateWrapperOfType Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| CreateWrapperOfType(Object, Type) |
Veraltet.
Umschließt das angegebene COM-Objekt in einem Objekt des angegebenen Typs. |
| CreateWrapperOfType<T,TWrapper>(T) |
Umschließt das angegebene COM-Objekt in einem Objekt des angegebenen Typs. |
CreateWrapperOfType(Object, Type)
- Quelle:
- Marshal.NoCom.cs
- Quelle:
- Marshal.NoCom.cs
- Quelle:
- Marshal.NoCom.cs
- Quelle:
- Marshal.NoCom.cs
- Quelle:
- Marshal.NoCom.cs
Achtung
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
Umschließt das angegebene COM-Objekt in einem Objekt des angegebenen Typs.
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
Parameter
- o
- Object
Das objekt, das umbrochen werden soll.
- t
- Type
Der Typ des zu erstellenden Wrappers.
Gibt zurück
Das neu umbrochene Objekt, das eine Instanz des gewünschten Typs ist.
- Attribute
Ausnahmen
Der t Parameter ist null.
o Kann nicht in den Zieltyp konvertiert werden, da er nicht alle erforderlichen Schnittstellen unterstützt.
Hinweise
CreateWrapperOfType konvertiert einen COM-Klassentyp( in der Regel den Basistyp __ComObject ) in einen anderen COM-Klassentyp. Das durch Parameter odargestellte EINGABE-COM-Objekt ist ein Runtime Callable Wrapper (RCW).
Sowohl die Klassen o als auch die t Parameter müssen Klassen sein, deren Signaturen zugeschrieben System.Runtime.InteropServices.ComImportAttributewerden. Das toolTlbimp.exe (Type Library Importer) wendet dieses Attribut für Sie an, wenn es eine Typbibliothek importiert. Wenn Sie das RCW manuell im Quellcode erstellen, sollten Sie dieses Attribut auf die verwaltete Signatur anwenden, die die ursprüngliche Coclass darstellt, um ihre COM-Ursprünge zu kennzeichnen.
Tlbimp.exe importiert eine COM-Coclass als verwaltete Klasse und eine Schnittstelle. Die Coclass-Schnittstelle hat denselben Namen wie die ursprüngliche Coclass, und die verwaltete Klasse hat den ursprünglichen Coclass-Namen, der mit "Class" angefügt ist. Beispielsweise wird eine aufgerufene Coclass MyCoclass zu einer Coclass-Schnittstelle, die aufgerufen MyCoclass wird, und zu einer verwalteten Klasse, die aufgerufen wird MyCoclassClass. Da t es sich um eine Klasse und nicht um eine Schnittstelle handeln muss, müssen Sie unbedingt die verwaltete Klasse (MyCoclassClass) und nicht die Coclass-Schnittstelle angeben.
Hinweis
Sie verlieren die Identität des EINGABE-COM-Objekts, da eine neue RCW-Instanz den IUnknown-Zeiger umschließt, der vom ursprünglichen RCW verfügbar gemacht wird.
Weitere Informationen
Gilt für:
CreateWrapperOfType<T,TWrapper>(T)
- Quelle:
- Marshal.NoCom.cs
- Quelle:
- Marshal.NoCom.cs
- Quelle:
- Marshal.NoCom.cs
- Quelle:
- Marshal.NoCom.cs
- Quelle:
- Marshal.NoCom.cs
Umschließt das angegebene COM-Objekt in einem Objekt des angegebenen Typs.
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
Typparameter
- T
Der Typ des objekts, das umbrochen werden soll.
- TWrapper
Der Typ des zurückzugebenden Objekts.
Parameter
- o
- T
Das objekt, das umbrochen werden soll.
Gibt zurück
Das neu umschlossene Objekt.
- Attribute
Ausnahmen
o kann nicht in den TWrapper Konvertiert werden, da nicht alle erforderlichen Schnittstellen unterstützt werden.
Hinweise
CreateWrapperOfType<T,TWrapper>(T) konvertiert ein COM-Objekt vom Typ T in den TWrapper COM-Klassentyp. Das durch Parameter odargestellte EINGABE-COM-Objekt ist ein Runtime Callable Wrapper (RCW).
Sowohl der T generische Typparameter als auch der o Parameter müssen Klassen sein, deren Signaturen dem System.Runtime.InteropServices.ComImportAttribute Attribut zugeordnet werden. Das toolTlbimp.exe (Type Library Importer) wendet dieses Attribut für Sie an, wenn es eine Typbibliothek importiert. Wenn Sie das RCW manuell im Quellcode erstellen, sollten Sie dieses Attribut auf die verwaltete Signatur anwenden, die die ursprüngliche Coclass darstellt, um ihre COM-Ursprünge zu kennzeichnen.
Tlbimp.exe importiert eine COM-Coclass als verwaltete Klasse und eine Schnittstelle. Die Coclass-Schnittstelle hat denselben Namen wie die ursprüngliche Coclass, und die verwaltete Klasse hat den ursprünglichen Coclass-Namen, der mit "Class" angefügt ist. Beispielsweise wird eine aufgerufene Coclass MyCoclass zu einer Coclass-Schnittstelle, die aufgerufen MyCoclass wird, und zu einer verwalteten Klasse, die aufgerufen wird MyCoclassClass. DaT es sich um eine Klasse und nicht um eine Schnittstelle handeln muss, müssen Sie unbedingt die verwaltete Klasse (MyCoclassClass) und nicht die coclass Schnittstelle angeben.
Hinweis
Sie verlieren die Identität des EINGABE-COM-Objekts, da eine neue RCW-Instanz den IUnknown-Zeiger umschließt, der vom ursprünglichen RCW verfügbar gemacht wird.