ErrorWrapper Kelas

Definisi

Perhatian

ErrorWrapper and support for marshalling to the VARIANT type may be unavailable in future releases.

Membungkus objek marshaler harus marshal sebagai VT_ERROR.

public ref class ErrorWrapper sealed
[System.Obsolete("ErrorWrapper and support for marshalling to the VARIANT type may be unavailable in future releases.")]
public sealed class ErrorWrapper
public sealed class ErrorWrapper
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class ErrorWrapper
[<System.Obsolete("ErrorWrapper and support for marshalling to the VARIANT type may be unavailable in future releases.")>]
type ErrorWrapper = class
type ErrorWrapper = class
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type ErrorWrapper = class
Public NotInheritable Class ErrorWrapper
Warisan
ErrorWrapper
Atribut

Contoh

Contoh kode berikut pertama-tama menunjukkan objek lone Int32 yang dinamai kembali dari COM sebagai Int32 objek . Kemudian menunjukkan array yang Int32 dinamai kembali dari COM sebagai UInt32 array.

// Scenario 1:  
// Pass a single value.  
Int32 x = 3;  
Object o = new ErrorWrapper(x);  
// Pass 'o' to COM.  
// On the return trip, 'o' has been unwrapped and is still an Int32 object.  
Int32 y = (Int32)o;  
Scenario 2:  
// Pass an array of values.  
Int32[] arr = new Int32[3];  
Object o = new ErrorWrapper(arr);  
// Pass 'o' to COM.  
// On the return trip, 'o' has been unwrapped and is now a UInt32[] array.  
UInt32[ ] arr2 = (UInt32[])o;  

Keterangan

Secara default, Object argumen jenis di-marshaled sebagai VARIANT jenis, di mana jenis objek menentukan VARTYPE nilai VARIANT.

ErrorWrapper Jenis harus diteruskan sebagai jenis untuk Object dijadikan marsekal sebagai VARIANT jenis VT_ERROR, jika tidakErrorWrapper, jenisnya dinamai sebagai bilangan bulat.

Tabel berikut mengilustrasikan marshaling dalam panggilan terkelola ke fungsi asli, menggunakan pemanggilan platform.

Parameter tanda tangan terkelola nilai pArr Marshaled sebagai
ErrorWrapper[] pArr ErrorWrapper[10] dari ErrorWrapper(77) Int[10]
Object[] pArr ErrorWrapper[10] dari ErrorWrapper(77) VARIANT[10] dari VT_ERROR
Object[] pArr Object[10] dari ErrorWrapper(77) VARIANT[10] dari VT_ERROR

Tabel berikut mengilustrasikan data marshaling dalam panggilan terkelola ke fungsi asli, menggunakan pembungkus yang dapat dipanggil runtime COM (RCW).

Parameter tanda tangan terkelola nilai pArr Marshaled sebagai
ErrorWrapper[] pArr ErrorWrapper[10] dari ErrorWrapper(77) Int[10]
Object[] pArr ErrorWrapper[10] dari ErrorWrapper(77) Pengecualian SafeArrayTypeMismatch
Object[] pArr Object[10] dari ErrorWrapper(77) SAFEARRAY(VARIANT)

Perhatikan bahwa ErrorWrapper objek tidak dinamai sebagai jenis VT_ERROR setelah diteruskan kembali dari COM. Nilai tunggal dinamai kembali dari COM sebagai jenis VT_I4, sementara array dinamai kembali dari COM sebagai jenis VT_UI4.

Untuk informasi selengkapnya tentang VT_ERROR, silakan lihat dokumentasi yang ada untuk VARENUM::VT_ERROR di pustaka MSDN.

Konstruktor

ErrorWrapper(Exception)
Kedaluwarsa.

Menginisialisasi instans ErrorWrapper baru kelas dengan HRESULT yang sesuai dengan pengecualian yang disediakan.

ErrorWrapper(Int32)
Kedaluwarsa.

Menginisialisasi instans ErrorWrapper baru kelas dengan HRESULT kesalahan.

ErrorWrapper(Object)
Kedaluwarsa.

Menginisialisasi instans ErrorWrapper baru kelas dengan objek yang berisi HRESULT kesalahan.

Properti

ErrorCode
Kedaluwarsa.

Mendapatkan kode kesalahan pembungkus.

Metode

Equals(Object)
Kedaluwarsa.

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()
Kedaluwarsa.

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()
Kedaluwarsa.

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()
Kedaluwarsa.

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ToString()
Kedaluwarsa.

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk