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 kadar 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 Objectgeçirdiği bir VT_VARIANT | VT_BYREF 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 düzey dolaylılık eklemektir.
Birlikte çalışma sıralayıcısının olarak Objectgeçirdiği bir VT_VARIANT | VT_BYREF sarmalama için bu sınıfı kullanabilirsiniz. .NET Framework'ün 1.0 ve 1.1 sürümlerinde, VT_VARIANT | VT_BYREF türündeki 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_BYREF için Stringveya VT_I4 | VT_BYREF için Int32) geçirdi, ancak geçiremedi VT_VARIANT | VT_BYREF.
Değişken türlerini kullanmanın VT_VARIANT | VT_BYREF avantajlarından biri, yöntem çağrısı sırasında veri türünün değiştirilebiliyor olmasıdır. Örneğin, içeren VT_VARIANT | VT_BYREF bir VT_BSTR değişken türü geçirebilirsiniz ve 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 bir yolu olmadığından, olarak BSTRbildirilen bir for parametresini içeren bir VARIANT * 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ı VariantWrapper yaparken veya erken bağlanan bir şekilde çağrılan yalnızca Dispatch-only arabirimiyle kullanabilirsinizInvokeMember. C# dilinde, türündeki refByRefherhangi bir parametrenin semantiğini belirtmek VariantWrapper için anahtar sözcüğünü de kullanmanız gerekir. Visual Basic'da, ByRef semantiği her örtük geç bağlama çağrısı için otomatik olarak eklenir. Ayrıca, nesneleri ve nesne dizilerini iç içe geçirmenin VariantWrapperVariantWrapper desteklenmediğini unutmayın.
Oluşturucular
| Name | Description |
|---|---|
| VariantWrapper(Object) |
Geçersiz.
Belirtilen VariantWrapper parametre için sınıfının yeni bir örneğini Object başlatır. |
Özellikler
| Name | Description |
|---|---|
| WrappedObject |
Geçersiz.
Nesnesi tarafından VariantWrapper sarmalanan nesneyi alır. |
Yöntemler
| Name | Description |
|---|---|
| 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.
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| MemberwiseClone() |
Geçersiz.
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Geçersiz.
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |