Hallo Zusammen,
ich habe eine Frage zur Definition eigener Events.
Ich will ein exception auslösen und in Event behandeln, doch ich verstehe nicht richtig den Konzept villeicht könnte ihr mir bitte weiter helfen:
1 Programm Main Klasse: Event registrieren
2 Klasse TransferEvent + TransferHandler
und dann meine Basesklasse:
Ich bekomme den Fehler keine Überladung ist möglich für OnError in der main Methode, wie kann ich jedes mal bei catch OnError aufrufen und gleichzeitig den Exception übergeben
Danke im Vorraus
ich habe eine Frage zur Definition eigener Events.
Ich will ein exception auslösen und in Event behandeln, doch ich verstehe nicht richtig den Konzept villeicht könnte ihr mir bitte weiter helfen:
1 Programm Main Klasse: Event registrieren
Code:
class Program { static void Main(string[] args) { // Instantiates the event receiver HandleTransferEvents tet = new HandleTransferEvents(); ...... tlp.WriteEvent += new TransferEventHandler(tet.OnWrite); tlp.ErrorEvent += new TransferEventHandler(tet.OnError); Console.WriteLine("Press any key.."); Console.ReadKey(); } } }
Code:
public class TransferEventArgs : EventArgs { private Exception excep; public Exception TransferException { get { return excep; } } } public class HandleTransferEvents { public void OnWrite(object sender, TransferEventArgs e) { Console.WriteLine("Transfer: {0} - Write: {1}:{2}", e.TransferDate, e.TransferName, e.FileName); } public void OnError(object sender, Exception excep) { ExceptionInformation.DisplayException(excep); } }
Code:
public event TransferEventHandler WriteEvent; public event TransferEventHandler ErrorEvent; protected virtual void OnWrite(TransferEventArgs e) { TransferEventHandler handler = WriteEvent; if (handler != null) handler(this, e); // Invokes the delegates } protected virtual void OnError(Exception excep) { TransferEventHandler handler = ErrorEvent; if (handler != null) handler(this, e); // Invokes the delegates }
Danke im Vorraus
Comment