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