Compartir a través de


Platform::WeakReference (Clase)

Representa una referencia débil a una instancia de una clase ref.

Sintaxis

class WeakReference

Parámetros

Miembros

Constructores

Miembro Descripción
WeakReference::WeakReference Inicializa una nueva instancia de la clase WeakReference.

Métodos

Miembro Descripción
WeakReference::Resolve Devuelve un identificador a la clase ref subyacente o nullptr si el objeto ya no existe.

Operadores

Miembro Descripción
WeakReference::operator= Asigna un nuevo valor al objeto WeakReference.
WeakReference::operator BoolType Implementa el patrón de valor booleano seguro.

Comentarios

La clase WeakReference no es una clase ref y, por tanto, no hereda de Platform::Object^ y no se puede usar en la firma de un método público.

WeakReference::operator=

Asigna un valor a WeakReference.

Sintaxis

WeakReference& operator=(decltype(__nullptr));
WeakReference& operator=(const WeakReference& otherArg);
WeakReference& operator=(WeakReference&& otherArg);
WeakReference& operator=(const volatile ::Platform::Object^ const otherArg);

Comentarios

La última sobrecarga de la lista permite asignar una clase ref a una variable WeakReference. En este caso, la clase ref se convierte al tipo heredado, Platform::Object^. Restaure el tipo original más adelante especificándolo como argumento del parámetro de tipo en la función miembro WeakReference::Resolve<T>.

WeakReference::operator BoolType

Implementa el patrón bool seguro para la clase WeakReference. No debes llamarlo explícitamente en el código.

Sintaxis

BoolType BoolType();

WeakReference::Resolve (Método, espacio de nombres de la plataforma)

Devuelve un identificador a la clase ref original o nullptr si el objeto ya no existe.

Sintaxis

template<typename T>
T^ Resolve() const;

Parámetros

Valor de propiedad y valor devuelto

Identificador de la clase ref a la que se asoció previamente el objeto WeakReference o nullptr.

Ejemplo

Bar^ bar = ref new Bar();
//use bar...

if (bar != nullptr)
{
    WeakReference wr(bar);
    Bar^ newReference = wr.Resolve<Bar>();
}

Ten en cuenta que el tipo de parámetro es T, no T^.

WeakReference::WeakReference (constructor)

Proporciona distintas formas de crear un objeto WeakReference.

Sintaxis

WeakReference();
WeakReference(decltype(__nullptr));
WeakReference(const WeakReference& otherArg);
WeakReference(WeakReference&& otherArg);
explicit WeakReference(const volatile ::Platform::Object^ const otherArg);

Ejemplo

MyClass^ mc = ref new MyClass();
WeakReference wr(mc);
MyClass^ copy2 = wr.Resolve<MyClass>();

Consulte también

Espacio de nombres de plataforma