Freigeben über


DispatchWrapper-Klasse

 

Veröffentlicht: Oktober 2016

Umschließt Objekte, die der Marshaller als Marshallen einer VT_DISPATCH.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

Vererbungshierarchie

System.Object
  System.Runtime.InteropServices.DispatchWrapper

Syntax

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class DispatchWrapper
[SerializableAttribute]
[ComVisibleAttribute(true)]
public ref class DispatchWrapper sealed 
[<Sealed>]
[<SerializableAttribute>]
[<ComVisibleAttribute(true)>]
type DispatchWrapper = class end
<SerializableAttribute>
<ComVisibleAttribute(True)>
Public NotInheritable Class DispatchWrapper

Konstruktoren

Name Beschreibung
System_CAPS_pubmethod DispatchWrapper(Object)

Initialisiert eine neue Instanz der DispatchWrapper -Klasse mit dem Objekt, das umschlossen wird.

Eigenschaften

Name Beschreibung
System_CAPS_pubproperty WrappedObject

Ruft das Objekt, indem die DispatchWrapper.

Methoden

Name Beschreibung
System_CAPS_pubmethod Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_pubmethod GetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethod GetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethod ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

Hinweise

Verwenden Sie zum Umschließen von Objekten der Marshaller als Marshallen einer VT_DISPATCH. Dieser Wrapper erzwingt, dass Objekte als gemarshallt werden VT_DISPATCH. Wenn das Objekt nicht unterstützt IDispatch und dann eine Ausnahme ausgelöst wird.

void MyMethod(Object o);

public void DoWrap()
{
    Object o = new MyObject();
    MyMethod(o);                      // passes o as VT_UNKNOWN
    MyMethod(new DispatchWrapper(o)); // passes o as VT_DISPATCH

    //...
}
Sub MyMethod(o As Object)
    ' handle object ...
End Sub

Public Sub DoWrap()
    Dim o As Object = new MyObject()
    MyMethod(o)                      ' passes o as VT_UNKNOWN
    MyMethod(new DispatchWrapper(o)) ' passes o as VT_DISPATCH

    '...
End Sub
void MyMethod(Object^ o);

void DoWrap()
{
    Object^ o = gcnew MyObject();
    MyMethod(o);                        // passes o as VT_UNKNOWN
    MyMethod(gcnew DispatchWrapper(o)); // passes o as VT_DISPATCH

    //...
}

Weitere Informationen zu VT_DISPATCH, finden Sie in der Dokumentation zu VARENUM::VT_DISPATCH in der MSDN Library.

Versionsinformationen

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Windows Phone
Verfügbar seit 8.1

Threadsicherheit

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Siehe auch

System.Runtime.InteropServices-Namespace

Zurück zum Anfang