Platform::WeakReference-Klasse

Stellt einen schwachen Verweis auf eine Instanz einer Verweisklasse dar.

Syntax

class WeakReference

Parameter

Member

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

Siehe auch

Plattformnamespace