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;
}
}
}
}