Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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>();