Имеется базовый класс с некоторым событием, как вызвать это событие в дочернем классе? - C#
Формулировка задачи:
Братцы, что то я отморозился, помогите разобраться с концепцией...
Суть проблемы, имеется базовый класс с некоторым событием, как вызвать это событие в дочернем классе?
public class BaseClass { public delegate void systemExceptionDelegate(Exception sysException); public event systemExceptionDelegate OnSystemException; public BaseClass() { // // TODO: Add constructor logic here // } public void Main() { SystemException sysEx = null; sysEx = new SystemException('My system exception!'); OnSystemException(sysEx); } } public class DerivedClass:BaseClass { public DerivedClass() { // nothing yet } public void DoSomeWork() { // вот тут хотелось бы вызвать event from base class base.OnSystemException(new SystemException('Hello World!')); } }
Решение задачи: «Имеется базовый класс с некоторым событием, как вызвать это событие в дочернем классе?»
textual
Листинг программы
public class SystemExceptionEventArgs : EventArgs { private Exception _exception; public Exception Exception { get { return _exception; } } public SystemExceptionEventArgs( Exception e ) { _exception = e; } } public delegate void SystemExceptionEventHandler( BaseClass sender, SystemExceptionEventArgs e ); public class BaseClass { public event SystemExceptionEventHandler SystemException; protected virtual void OnSystemException( SystemExceptionEventArgs e ) { if ( SystemException != null ) { SystemException( this, e ); } } } public class DerivedClass : BaseClass { public void DoSomeWork() { OnSystemException( new SystemExceptionEventArgs( new Exception( 'Hello World!' ) ); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д