Udostępnij za pośrednictwem


Platform::WeakReference, klasa

Reprezentuje słabe odwołanie do wystąpienia klasy ref.

Składnia

class WeakReference

Parametry

Członkowie

Konstruktory

Element członkowski opis
WeakReference::WeakReference Inicjuje nowe wystąpienie klasy WeakReference.

Metody

Element członkowski opis
WeakReference::Resolve Zwraca uchwyt do bazowej klasy ref lub nullptr, jeśli obiekt już nie istnieje.

Operatory

Element członkowski opis
WeakReference::operator= Przypisuje nową wartość do obiektu WeakReference.
WeakReference::operator BoolType Implementuje bezpieczny wzorzec wartości logicznej.

Uwagi

Sama klasa WeakReference nie jest klasą ref i dlatego nie dziedziczy z klasy Platform::Object^ i nie może być używana w podpisie metody publicznej.

WeakReference::operator=

Przypisuje wartość do wartości WeakReference.

Składnia

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

Uwagi

Ostatnie przeciążenie na powyższej liście umożliwia przypisanie klasy ref do zmiennej WeakReference. W takim przypadku klasa ref jest obniżana do klasy Platform::Object^. Oryginalny typ można przywrócić później, określając go jako argument parametru typu w funkcji składowej WeakReference::Resolve<T> .

WeakReference::operator BoolType

Implementuje bezpieczny wzorzec logiczny dla klasy WeakReference. Nie należy wywoływać jawnie z kodu.

Składnia

BoolType BoolType();

WeakReference::Resolve, metoda (przestrzeń nazw platformy)

Zwraca uchwyt do oryginalnej klasy ref lub nullptr jeśli obiekt już nie istnieje.

Składnia

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

Parametry

Wartość właściwości/Zwracana wartość

Dojście do klasy ref, z którą wcześniej skojarzono obiekt WeakReference lub nullptr.

Przykład

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

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

Należy pamiętać, że parametr typu to T, a nie T^.

WeakReference::WeakReference, konstruktor

Udostępnia różne sposoby konstruowania metody WeakReference.

Składnia

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

Przykład

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

Zobacz też

Przestrzeń nazw platformy