using System; using System.Runtime.Serialization; namespace Developpez.Dotnet { /// /// Représente une référence faible fortement typée /// /// Type de l'objet référencé [Serializable] public class WeakReference : WeakReference { /// /// Initialise une nouvelle instance de WeakReference<T> qui /// référence l'objet cible spécifié /// /// Objet cible public WeakReference(T target) : base(target) { } /// /// Initialise une nouvelle instance de WeakReference<T> qui /// référence l'objet cible spécifié, en indiquant si l'objet doit /// continuer à être suivi après sa finalisation /// /// Objet cible /// true si l'objet doit être suivi /// après sa finalisation (référence faible "longue"), false sinon /// (référence faible "courte") public WeakReference(T target, bool trackResurrection) : base(target, trackResurrection) { } /// /// Initialise une nouvelle instance de WeakReference<T> en utilisant /// les données désérialisées /// /// Objet contenant toutes les données nécessaires pour sérialiser ou désérialiser l'objet WeakReference actuel. /// Décrit la source et la destination du flux sérialisé spécifié par info. public WeakReference(SerializationInfo info, StreamingContext context) : base(info, context) { } /// /// Renvoie l'objet cible de la référence faible /// public new T Target { get { return (T)base.Target; } } } }