Platform::WeakReference, klasa
Reprezentuje słabe odwołanie do wystąpienia klasy ref.
Składnia
class WeakReference
Parametry
Elementy członkowskie
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>();