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
| Nom | Description |
|---|---|
| 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
- 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
Objet à wrapper.
- t
- Type
Type de wrapper à créer.
Retours
Objet récemment encapsulé qui est une instance du type souhaité.
- Attributs
Exceptions
Le t paramètre est null.
o ne peut pas être converti en 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ètreo, est un wrapper rcW (Runtime Callable Wrapper).
Les paramètres et o les t deux 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 lorsque celui-ci importe une bibliothèque de types. Si vous créez manuellement rcW dans le code source, vous devez appliquer cet attribut à la signature managée qui représente la coclasse d’origine pour signer ses origines COM.
Tlbimp.exe importe une coclasse COM en tant que classe managée et interface. L’interface de coclasse porte le même nom que la coclasse d’origine, et la classe managée a le nom de coclasse d’origine ajouté à « Class ». Par exemple, une coclasse appelée MyCoclass devient une interface de coclasse appelée MyCoclass et une classe managée appelée MyCoclassClass. Comme t il doit s’agir d’une classe, et non d’une interface, veillez à spécifier la classe managée (MyCoclassClass) et non l’interface de coclasse.
Note
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
- 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
Objet à wrapper.
Retours
Objet récemment encapsulé.
- Attributs
Exceptions
o ne peut pas être converti en TWrapper étant donné qu’il ne prend pas en charge toutes les interfaces requises.
Remarques
CreateWrapperOfType<T,TWrapper>(T) convertit un objet COM de type T en TWrapper type de classe COM. L’objet COM d’entrée, représenté par le paramètreo, est un wrapper rcW (Runtime Callable Wrapper).
Le T paramètre de type générique et le o paramètre doivent être des classes dont les signatures sont attribuées avec l’attribut System.Runtime.InteropServices.ComImportAttribute .
L’outilTlbimp.exe (Importateur de bibliothèque de types) applique cet attribut lorsque celui-ci importe une bibliothèque de types. Si vous créez manuellement rcW dans le code source, vous devez appliquer cet attribut à la signature managée qui représente la coclasse d’origine pour signer ses origines COM.
Tlbimp.exe importe une coclasse COM en tant que classe managée et interface. L’interface de coclasse porte le même nom que la coclasse d’origine, et la classe managée a le nom de coclasse d’origine ajouté à « Class ». Par exemple, une coclasse appelée MyCoclass devient une interface de coclasse appelée MyCoclass et une classe managée appelée MyCoclassClass. CommeT il doit s’agir d’une classe, et non d’une interface, veillez à spécifier la classe managée (MyCoclassClass) et non l’interface coclass .
Note
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.