Compartir a través de


Clase DispatchWrapper

 

Publicado: octubre de 2016

Ajusta los objetos que se va a calcular como un VT_DISPATCH.

Espacio de nombres:   System.Runtime.InteropServices
Ensamblado:  mscorlib (en mscorlib.dll)

Jerarquía de herencia

System.Object
  System.Runtime.InteropServices.DispatchWrapper

Sintaxis

[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

Constructores

Nombre Descripción
System_CAPS_pubmethod DispatchWrapper(Object)

Inicializa una nueva instancia de la DispatchWrapper clase con el objeto que se está conteniendo.

Propiedades

Nombre Descripción
System_CAPS_pubproperty WrappedObject

Obtiene el objeto ajustado por el DispatchWrapper.

Métodos

Nombre Descripción
System_CAPS_pubmethod Equals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_pubmethod GetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethod GetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethod ToString()

Devuelve una cadena que representa el objeto actual.(Heredado de Object).

Comentarios

Usar para ajustar objetos que el contador de referencias debe calcular referencias como un VT_DISPATCH. Este contenedor obligará a calcularse como objetos VT_DISPATCH. Si el objeto no admite IDispatch a continuación, se producirá una excepción.

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 obtener más información sobre VT_DISPATCH, consulte la documentación existente sobre VARENUM::VT_DISPATCH en MSDN library.

Información de versión

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Windows Phone
Disponible desde 8.1

Seguridad para subprocesos

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Ver también

Espacio de nombres System.Runtime.InteropServices

Volver al principio