Marshal.CreateWrapperOfType Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
CreateWrapperOfType(Object, Type) |
Obsolète.
Encapsule l'objet COM spécifié dans un objet du type spécifié. |
CreateWrapperOfType<T,TWrapper>(T) |
Encapsule l'objet COM spécifié dans un objet du type spécifié. |
CreateWrapperOfType(Object, Type)
- Source:
- Marshal.NoCom.cs
- Source:
- Marshal.NoCom.cs
- Source:
- Marshal.NoCom.cs
Attention
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
Encapsule l'objet COM spécifié dans un objet du type spécifié.
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
Paramètres
- o
- Object
L’objet à encapsuler.
- t
- Type
Le type de wrapper à créer.
Retours
Objet récemment encapsulé constituant une instance du type requis.
- Attributs
Exceptions
Le paramètre t
a la valeur null
.
Impossible de convertir o
dans le type de destination, car il ne prend pas en charge toutes les interfaces requises.
Remarques
CreateWrapperOfType convertit un type de classe COM, généralement le type de base __ComObject
, en un autre type de classe COM. L’objet COM d’entrée, représenté par le paramètre o
, est un wrapper d’appel d’exécution (RCW).
t
Les paramètres et o
doivent être des classes dont les signatures sont attribuées avec System.Runtime.InteropServices.ComImportAttribute.
L’outilTlbimp.exe (importateur de bibliothèque de types) applique cet attribut pour vous lorsqu’il importe une bibliothèque de types. Si vous créez manuellement le RCW dans le code source, vous devez appliquer cet attribut à la signature managée qui représente la coclasse d’origine pour indiquer ses origines COM.
Tlbimp.exe importe une coclasse COM en tant que classe managée et interface. L’interface de coclasse a le même nom que la coclasse d’origine, et la classe managée a le nom de coclasse d’origine ajouté avec « Class ». Par exemple, une coclasse appelée MyCoclass
devient une interface de coclasse appelée MyCoclass
et une classe managée appelée MyCoclassClass
. Étant donné t
que doit être une classe, et non une interface, veillez à spécifier la classe managée (MyCoclassClass
) et non l’interface de coclasse.
Notes
Vous perdez l’identité de l’objet COM d’entrée, car une nouvelle instance RCW encapsule le pointeur IUnknown exposé par le RCW d’origine.
Voir aussi
S’applique à
CreateWrapperOfType<T,TWrapper>(T)
- Source:
- Marshal.NoCom.cs
- Source:
- Marshal.NoCom.cs
- Source:
- Marshal.NoCom.cs
Encapsule l'objet COM spécifié dans un objet du type spécifié.
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
Paramètres de type
- T
Type d'objet à encapsuler.
- TWrapper
Type d'objet à retourner.
Paramètres
- o
- T
L’objet à encapsuler.
Retours
Objet récemment encapsulé.
- Attributs
Exceptions
o
ne peut pas être converti dans TWrapper
puisqu'il ne prend pas en charge toutes les interfaces requises.
Remarques
CreateWrapperOfType<T,TWrapper>(T)convertit un objet COM de type en TWrapper
type T
de classe COM. L’objet COM d’entrée, représenté par le paramètre o
, est un wrapper d’appel d’exécution (RCW).
Le paramètre de T
type générique et le o
paramètre doivent être des classes dont les signatures sont attribuées à l’attribut System.Runtime.InteropServices.ComImportAttribute .
L’outilTlbimp.exe (importateur de bibliothèque de types) applique cet attribut pour vous lorsqu’il importe une bibliothèque de types. Si vous créez manuellement le RCW dans le code source, vous devez appliquer cet attribut à la signature managée qui représente la coclasse d’origine pour indiquer ses origines COM.
Tlbimp.exe importe une coclasse COM en tant que classe managée et interface. L’interface de coclasse a le même nom que la coclasse d’origine, et la classe managée a le nom de coclasse d’origine ajouté avec « Class ». Par exemple, une coclasse appelée MyCoclass
devient une interface de coclasse appelée MyCoclass
et une classe managée appelée MyCoclassClass
. Étant donné queT
doit être une classe, pas une interface, veillez à spécifier la classe managée (MyCoclassClass
) et non l’interface coclass
.
Notes
Vous perdez l’identité de l’objet COM d’entrée, car une nouvelle instance RCW encapsule le pointeur IUnknown exposé par le RCW d’origine.