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