Share via


Platform::WeakReference, classe

Représente une référence faible à une instance d'une classe ref.

Syntaxe

class WeakReference

Paramètres

Membres

Constructeurs

Membre Description
WeakReference ::WeakReference Initialise une nouvelle instance de la classe WeakReference.

Méthodes

Membre Description
WeakReference ::Resolve Retourne un handle vers la classe ref sous-jacente, ou nullptr si l'objet n'existe plus.

Opérateurs

Membre Description
WeakReference::operator= Assigne une nouvelle valeur à l'objet WeakReference.
WeakReference::operator BoolType Implémente le modèle bool sécurisé.

Notes

La classe WeakReference elle-même n'est pas une classe ref et par conséquent elle n'hérite pas de Platform::Object^ et ne peut pas être utilisée dans la signature d'une méthode publique.

WeakReference::operator=

Assigne une valeur à un WeakReference.

Syntaxe

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

Notes

La dernière surcharge de la liste ci-dessus vous permet d'assigner une classe ref à une variable WeakReference. Dans ce cas, la classe ref est bascast sur Platform ::Object^. Vous restaurez le type d’origine ultérieurement en le spécifiant comme argument du paramètre de type dans la fonction membre WeakReference ::Resolve<T> .

WeakReference::operator BoolType

Implémente le modèle booléen sécurisé pour la classe WeakReference. À ne pas appeler explicitement à partir de votre code.

Syntaxe

BoolType BoolType();

WeakReference::Resolve, méthode (espace de noms de plateforme)

Retourne un handle vers la classe ref d'origine ou nullptr si l'objet n'existe plus.

Syntaxe

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

Paramètres

Valeur de propriété/valeur de retour

Handle vers la classe ref à laquelle l'objet WeakReference était associé précédemment ou nullptr.

Exemple

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

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

Notez que le paramètre de type est T au lieu de T^.

WeakReference::WeakReference, constructeur

Fournit différentes façons de construire un WeakReference.

Syntaxe

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

Exemple

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

Voir aussi

Espace de noms de plateforme