VariantWrapper Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Dikkat
VariantWrapper and support for marshalling to the VARIANT type may be unavailable in future releases.
Yönetilen koddan yönetilmeyen koda türündeki VT_VARIANT | VT_BYREF verileri sıralar. Bu sınıf devralınamaz.
public ref class VariantWrapper sealed
[System.Obsolete("VariantWrapper and support for marshalling to the VARIANT type may be unavailable in future releases.")]
public sealed class VariantWrapper
public sealed class VariantWrapper
[System.Serializable]
public sealed class VariantWrapper
[<System.Obsolete("VariantWrapper and support for marshalling to the VARIANT type may be unavailable in future releases.")>]
type VariantWrapper = class
type VariantWrapper = class
[<System.Serializable>]
type VariantWrapper = class
Public NotInheritable Class VariantWrapper
- Devralma
-
VariantWrapper
- Öznitelikler
Örnekler
Aşağıdaki kod örneği, birlikte çalışma sıralayıcısının VariantWrapper olarak VT_VARIANT | VT_BYREFgeçirdiği bir Object sarmalama için sınıfının nasıl kullanılacağını gösterir.
// Create an instance of an unmanged COM object.
UnmanagedComClass UnmanagedComClassInstance = new UnmanagedComClass();
// Create a string to pass to the COM object.
string helloString = "Hello World!";
// Wrap the string with the VariantWrapper class.
object var = new System.Runtime.InteropServices.VariantWrapper(helloString);
// Pass the wrapped object.
UnmanagedComClassInstance.MethodWithStringRefParam(ref var);
' Create an instance of an unmanged COM object.
Dim UnmanagedComClassInstance As New UnmanagedComClass()
' Create a string to pass to the COM object.
Dim helloString As String = "Hello World!"
' Wrap the string with the VariantWrapper class.
Dim var As Object = New System.Runtime.InteropServices.VariantWrapper(helloString)
' Pass the wrapped object.
UnmanagedComClassInstance.MethodWithStringRefParam(var)
Açıklamalar
amacı VariantWrapper , yönetilen türü ilgili VARIANT türe sıralarken bir dolaylılık düzeyi eklemektir.
Birlikte çalışma sıralayıcısının olarak VT_VARIANT | VT_BYREFgeçirdiği bir Object sarmalama için bu sınıfı kullanabilirsiniz. .NET Framework'ün 1.0 ve 1.1 sürümlerinde, türdeki VT_VARIANT | VT_BYREF değişken verileri yönetilmeyen koda sıralamak mümkün değildi. Birlikte çalışma sıralayıcısı yönetilen türün bir değişkenini (örneğin , VT_BSTR | VT_BYREFStringveya VT_I4 | VT_BYREF için Int32) geçirdi, ancak geçiremedi VT_VARIANT | VT_BYREF.
Değişken türleri kullanmanın VT_VARIANT | VT_BYREF bir avantajı, bir yöntem çağrısı sırasında veri türünün değiştirilebileceğidir. Örneğin, içeren bir VT_VARIANT | VT_BYREF değişken türü VT_BSTR geçirebilirsiniz ve bir yöntem çağrısının ardından içeren bir VT_I4 değişken döndürülür. COM birlikte çalışma sıralayıcısının ne zaman ve ne zaman geçirildiğini VT_BSTR | VT_BYREFVT_VARIANT | VT_BYREFbilmesinin hiçbir yolu olmadığından, olarak VARIANT *bildirilen bir for parametrelerini içeren bir BSTR değişkene işaret eder. Kullanarak VariantWrappersıralayıcıya bildirebilirsiniz.
Erken bağlamanın desteklenmediğini unutmayın; yalnızca çağrısı InvokeMember yaparken veya erken bağlanan bir şekilde çağrılan yalnızca Dispatch-only arabirimiyle kullanabilirsinizVariantWrapper. C# dilinde, türündeki refVariantWrapperherhangi bir parametrenin semantiğini belirtmek ByRef için anahtar sözcüğünü de kullanmanız gerekir. Visual Basic'te, ByRef her örtük geç bağlama çağrısı için semantikler otomatik olarak eklenir. Ayrıca, nesneleri ve nesne dizilerini iç içe geçirmenin VariantWrapperVariantWrapper desteklenmediğini unutmayın.
Oluşturucular
| VariantWrapper(Object) |
Geçersiz.
Belirtilen Object parametre için sınıfının yeni bir örneğini VariantWrapper başlatır. |
Özellikler
| WrappedObject |
Geçersiz.
Nesnesi tarafından VariantWrapper sarmalanan nesneyi alır. |
Yöntemler
| Equals(Object) |
Geçersiz.
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
| GetHashCode() |
Geçersiz.
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
| GetType() |
Geçersiz.
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
| MemberwiseClone() |
Geçersiz.
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Geçersiz.
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |