Compartilhar via


Classe DispatchWrapper

 

Dica

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Encapsula objetos que o empacotador deve realizar marshaling como um VT_DISPATCH.

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

Hierarquia de Herança

System.Object
  System.Runtime.InteropServices.DispatchWrapper

Sintaxe

[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

Construtores

Nome Descrição
System_CAPS_pubmethod DispatchWrapper(Object)

Inicializa uma nova instância da classe DispatchWrapper com o objeto sendo encapsulado.

Propriedades

Nome Descrição
System_CAPS_pubproperty WrappedObject

Obtém o objeto encapsulado pelo DispatchWrapper.

Métodos

Nome Descrição
System_CAPS_pubmethod Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.(Herdado de Object.)

System_CAPS_pubmethod GetHashCode()

Serve como a função de hash padrão.(Herdado de Object.)

System_CAPS_pubmethod GetType()

Obtém o Type da instância atual.(Herdado de Object.)

System_CAPS_pubmethod ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.(Herdado de Object.)

Comentários

Usar para incluir objetos que o marshaler deve realizar marshaling como um VT_DISPATCH. Esse wrapper forçará objetos a ser empacotado como VT_DISPATCH. Se o objeto não suporta IDispatch , em seguida, uma exceção será lançada.

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

    //...
}

Para obter mais informações sobre VT_DISPATCH, consulte a documentação existente para VARENUM::VT_DISPATCH na biblioteca MSDN.

Informações de Versão

Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 1.1
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Windows Phone
Disponível desde 8.1

Acesso thread-safe

Quaisquer membros estáticos públicos ( Compartilhado no Visual Basic) desse tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Confira Também

Namespace System.Runtime.InteropServices

Retornar ao início