Condividi tramite


Classe Platform::WeakReference

Rappresenta un riferimento debole a un'istanza di una classe di riferimento.

Sintassi

class WeakReference

Parametri

Membri

Costruttori

Membro Descrizione
WeakReference::WeakReference Inizializza una nuova istanza della classe WeakReference.

Metodi

Membro Descrizione
WeakReference::Resolve Restituisce un handle alla classe di riferimento sottostante o nullptr se l'oggetto non esiste più.

Operatori

Membro Descrizione
WeakReference::operator= Assegna un nuovo valore all'oggetto WeakReference.
BoolType WeakReference::operator Implementa il modello bool sicuro.

Osservazioni:

La classe WeakReference stessa non è una classe di riferimento e pertanto non eredita da Platform::Object^ e non può essere usata nella firma di un metodo pubblico.

WeakReference::operator=

Assegna un valore a WeakReference.

Sintassi

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

Osservazioni:

L'ultimo overload nell'elenco precedente consente di assegnare una classe di riferimento a una variabile WeakReference. In questo caso la classe ref è downcast su Platform::Object^. Il tipo originale viene ripristinato in un secondo momento specificandolo come argomento per il parametro di tipo nella funzione membro WeakReference::Resolve<T> .

BoolType WeakReference::operator

Implementa il modello bool sicuro per la classe WeakReference. Non chiamarlo esplicitamente dal codice.

Sintassi

BoolType BoolType();

Metodo WeakReference::Resolve (spazio dei nomi Platform)

Restituisce un handle alla classe di riferimento originale o nullptr se l'oggetto non esiste più.

Sintassi

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

Parametri

Valore proprietà/Valore restituito

Handle alla classe di riferimento a cui l'oggetto WeakReference era precedentemente associato, oppure nullptr.

Esempio

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

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

Si noti che il parametro di tipo è T, non T^.

Costruttore WeakReference::WeakReference

Offre vari modi per creare un elemento WeakReference.

Sintassi

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

Esempio

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

Vedi anche

Spazio dei nomi Platform