DaSumpf Geschrieben 5. November 2002 Geschrieben 5. November 2002 Holla, ich hab ein kleines Problem was die Thematik "Ereignisse" angeht..... ich habe es zwar schon geschafft sowohl delegates als auch events zu schreiben, in meinen Code einbinden kann ich sie leider noch nicht.using System; using System.Collections; namespace Console_040 { class Medicine { public Medicine(string name,DateTime date) { this.name=name; this.date=date; } private string _name; private DateTime _date; public string name { get {return _name;} set {_name=value;} } public DateTime date { get {return _date;} set {_date=value;} } public bool IsValid() { DateTime today=System.DateTime.Today; if (today<=date) {return true;} else return false; } } class MediCollection // Herausgeber { private SortedList _MediColl; public MediCollection() { _MediColl = new SortedList(); } public Medicine this[string name] { get {return (Medicine) _MediColl[name];} } public Medicine this[int index] { get {return (Medicine) _MediColl.GetByIndex(index);} } public void Add(string name,DateTime date) { _MediColl.Add(name,new Medicine(name,date)); // hier und in den folgenden Zeilen ist bestimmt was falsch MediEventArgs mea = new MediEventArgs(); mea.add += new MediEventArgs.MediEventHandler(MediEventArgs.CatchEvent); mea.add -= new MediEventArgs.MediEventHandler(MediEventArgs.CatchEvent); mea.CheckEvent(); } public void Remove(string name) { _MediColl.Remove(name); // hier und in den folgenden Zeilen ist bestimmt was falsch MediEventArgs mea = new MediEventArgs(); mea.remove += new MediEventArgs.MediEventHandler(MediEventArgs.CatchEvent); mea.remove -= new MediEventArgs.MediEventHandler(MediEventArgs.CatchEvent); mea.CheckEvent(); } public void Clear() { _MediColl.Clear(); } public bool Contains(string name) { return _MediColl.Contains(name); } } public class MediEventArgs : EventArgs //Events deklarieren,hier sollte alles stimmen ( glaube bzw hoffe ich ) { public delegate void MediEventHandler(string Text); public event MediEventHandler add; public event MediEventHandler remove; public void CheckEvent() { if (null!=add) add("add-Ereignis ausgelöst"); if (null!=remove) remove("remove-Ereignis ausgelöst"); } public static void CatchEvent(string Text) { Console.WriteLine(Text); } } class App //Abonnent { [STAThread] static void Main(string[] args) { MediCollection col = new MediCollection(); col.Add("Tomapirin", DateTime.Parse("20.04.2004")); col.Add("Frubizym", DateTime.Parse("10.10.2002")); Console.WriteLine(col[0].IsValid().ToString()); Console.WriteLine(col[1].IsValid().ToString()); Console.ReadLine(); } } }[/PHP] Das Programm soll dazu dienen über Medikamente Buch zu führen, soll heissen wenn ein Element der Liste abgelaufen ("isValid") ist, dann soll der User informiert werden. Danke euch allen schon mal für die hoffentlich folgende Hilfe ;o)) DaSumpf Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.