Platform::WeakReference-Klasse
Stellt einen schwachen Verweis auf eine Instanz einer Verweisklasse dar.
Syntax
class WeakReference
Parameter
Members
Konstruktoren
Member | Beschreibung |
---|---|
WeakReference::WeakReference | Initialisiert eine neue Instanz der WeakReference-Klasse. |
Methoden
Member | Beschreibung |
---|---|
WeakReference::Resolve | Gibt einen Handle zur zugrunde liegenden Verweisklasse oder nullptr zurück, wenn das Objekt nicht mehr vorhanden ist. |
Operatoren
Member | Beschreibung |
---|---|
WeakReference::operator= | Weist dem WeakReference-Objekt einen neuen Wert zu. |
WeakReference::operator-BoolType | Implementiert das sichere Bool-Muster. |
Hinweise
Die WeakReference-Klasse selbst ist keine Verweisklasse und erbt daher nicht von Platform::Object^ und kann nicht in der Signatur einer öffentlichen Methode verwendet werden.
WeakReference::operator=
Weist einem schwachen Verweis einen Wert zu.
Syntax
WeakReference& operator=(decltype(__nullptr));
WeakReference& operator=(const WeakReference& otherArg);
WeakReference& operator=(WeakReference&& otherArg);
WeakReference& operator=(const volatile ::Platform::Object^ const otherArg);
Hinweise
Die letzte Überladung in der Liste oben ermöglicht es Ihnen, einer WeakReference-Variable eine Verweisklasse zuzuweisen. In diesem Fall ist die Referenzklasse auf Platform::Object^downcast. Sie stellen den ursprünglichen Typ später wieder her, indem Sie ihn als Argument für den Typparameter in der Memberfunktion WeakReference::Resolve<T> angeben.
WeakReference::operator-BoolType
Implementiert das sichere boolesche Muster für die WeakReference-Klasse. Nicht explizit vom Code aufzurufen.
Syntax
BoolType BoolType();
WeakReference::Resolve-Methode (Plattform-Namespace)
Gibt einen Handle zur ursprünglichen Verweisklasse oder nullptr
zurück, wenn das Objekt nicht mehr vorhanden ist.
Syntax
template<typename T>
T^ Resolve() const;
Parameter
Eigenschaftswert/Rückgabewert
Ein Handle zur Verweisklasse, der das WeakReference-Objekt bereits zugeordnet wurde, oder nullptr.
Beispiel
Bar^ bar = ref new Bar();
//use bar...
if (bar != nullptr)
{
WeakReference wr(bar);
Bar^ newReference = wr.Resolve<Bar>();
}
Beachten Sie, dass der Typparameter T und nicht T^ ist.
WeakReference::WeakReference-Konstruktor
Bietet verschiedene Möglichkeiten, einen schwachen Verweis zu erstellen.
Syntax
WeakReference();
WeakReference(decltype(__nullptr));
WeakReference(const WeakReference& otherArg);
WeakReference(WeakReference&& otherArg);
explicit WeakReference(const volatile ::Platform::Object^ const otherArg);
Beispiel
MyClass^ mc = ref new MyClass();
WeakReference wr(mc);
MyClass^ copy2 = wr.Resolve<MyClass>();