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>();