Marshal.CreateWrapperOfType Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Overload
CreateWrapperOfType(Object, Type) |
Kedaluwarsa.
Membungkus objek COM yang ditentukan dalam objek dari jenis yang ditentukan. |
CreateWrapperOfType<T,TWrapper>(T) |
Membungkus objek COM yang ditentukan dalam objek dari jenis yang ditentukan. |
CreateWrapperOfType(Object, Type)
- Sumber:
- Marshal.NoCom.cs
- Sumber:
- Marshal.NoCom.cs
- Sumber:
- Marshal.NoCom.cs
Perhatian
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
Membungkus objek COM yang ditentukan dalam objek dari jenis yang ditentukan.
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
Objek yang akan dibungkus.
- t
- Type
Jenis pembungkus yang akan dibuat.
Mengembalikan
Objek yang baru dibungkus yang merupakan instans dari jenis yang diinginkan.
- Atribut
Pengecualian
Parameternya t
adalah null
.
o
tidak dapat dikonversi ke tipe tujuan karena tidak mendukung semua antarmuka yang diperlukan.
Keterangan
CreateWrapperOfType mengonversi satu jenis kelas COM, biasanya jenis dasar __ComObject
, ke jenis kelas COM lainnya. Objek COM input, yang diwakili oleh parameter o
, adalah Runtime Callable Wrapper (RCW).
t
Parameter dan o
harus berupa kelas yang tanda tangannya dikaitkan dengan System.Runtime.InteropServices.ComImportAttribute. Alat Tlbimp.exe (Type Library Importer) menerapkan atribut ini untuk Anda saat mengimpor pustaka jenis. Jika Anda membuat RCW secara manual dalam kode sumber, Anda harus menerapkan atribut ini ke tanda tangan terkelola yang mewakili kolase asli untuk menandakan asal COM-nya.
Tlbimp.exe mengimpor kolase COM sebagai kelas terkelola dan antarmuka. Antarmuka coclass memiliki nama yang sama dengan coclass asli, dan kelas terkelola memiliki nama coclass asli yang ditambahkan dengan "Class". Misalnya, coclass yang disebut MyCoclass
menjadi antarmuka coclass yang disebut MyCoclass
dan kelas terkelola yang disebut MyCoclassClass
. Karena t
harus menjadi kelas, bukan antarmuka, pastikan untuk menentukan kelas terkelola (MyCoclassClass
) dan bukan antarmuka coclass.
Catatan
Anda kehilangan identitas objek COM input karena instans RCW baru membungkus pointer IUnknown yang diekspos oleh RCW asli.
Lihat juga
Berlaku untuk
CreateWrapperOfType<T,TWrapper>(T)
- Sumber:
- Marshal.NoCom.cs
- Sumber:
- Marshal.NoCom.cs
- Sumber:
- Marshal.NoCom.cs
Membungkus objek COM yang ditentukan dalam objek dari jenis yang ditentukan.
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
Jenis parameter
- T
Jenis objek yang akan dibungkus.
- TWrapper
Jenis objek yang akan dikembalikan.
Parameter
- o
- T
Objek yang akan dibungkus.
Mengembalikan
Objek yang baru dibungkus.
- Atribut
Pengecualian
o
tidak dapat dikonversi ke TWrapper
karena tidak mendukung semua antarmuka yang diperlukan.
Keterangan
CreateWrapperOfType<T,TWrapper>(T) mengonversi objek COM jenis T
ke TWrapper
jenis kelas COM. Objek COM input, yang diwakili oleh parameter o
, adalah Runtime Callable Wrapper (RCW).
T
Parameter jenis generik dan o
parameter harus berupa kelas yang tanda tangannya dikaitkan dengan System.Runtime.InteropServices.ComImportAttribute atribut . Alat Tlbimp.exe (Type Library Importer) menerapkan atribut ini untuk Anda saat mengimpor pustaka jenis. Jika Anda membuat RCW secara manual dalam kode sumber, Anda harus menerapkan atribut ini ke tanda tangan terkelola yang mewakili kolase asli untuk menandakan asal COM-nya.
Tlbimp.exe mengimpor kolase COM sebagai kelas terkelola dan antarmuka. Antarmuka coclass memiliki nama yang sama dengan coclass asli, dan kelas terkelola memiliki nama coclass asli yang ditambahkan dengan "Class". Misalnya, coclass yang disebut MyCoclass
menjadi antarmuka coclass yang disebut MyCoclass
dan kelas terkelola yang disebut MyCoclassClass
. KarenaT
harus kelas, bukan antarmuka, pastikan untuk menentukan kelas terkelola (MyCoclassClass
) dan bukan coclass
antarmuka.
Catatan
Anda kehilangan identitas objek COM input, karena instans RCW baru membungkus pointer IUnknown yang diekspos oleh RCW asli.