Example #1
0
 public void ChildChanged(object sender, EventArgs e)
 {
     if (sender is IReportChange)
     {
         IReportChange Child = (IReportChange)sender;
         this.HasChanged = Child.HasChanged;
     }
 }
Example #2
0
        // 1 - Ajoutez la méthode Add à la classe ReportChangeList :
        // 2 - La méthode Add prend en paramètre un type répondant aux
        //contraintes de la classe. L’objet passé en paramètre à la
        //méthode implémente donc l’interface IReportChange et il peut
        // être converti dans le type de l’interface ce qui permet à
        //l’objet de type ReportChangeList de s’abonner à l’évènement
        //Changed de l’objet passé en paramètre avant de l’ajouter
        //à la liste children.
        // 3 -Il n’y a plus qu’à modifier la méthode Add pour déterminer que
        // la clé est unique parmi les éléments de la liste avant de faire l’ajout :
        public void Add(T Child)
        {
            IKey childKey = (IKey)Child;

            if (this[childKey.Key] == null)
            {
                IReportChange child = (IReportChange)Child;
                child.Changed += new EventHandler(ChildChanged);
                this.children.Add(Child);
            }
        }