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_BYREF
geç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_BYREF
geç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_BYREF
Stringveya 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_BYREF
VT_VARIANT | VT_BYREF
bilmesinin 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 ref
VariantWrapperherhangi 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) |