[英]How do I use eventhandler from baseclass
我是否可以在派生類中使用ChangeHappend。 如果是這樣的話?
如果沒有,我該怎么辦呢?
class Base
{
public delegate void ChangeHandler(object sender);
public event ChangeHandler ChangeHappend;
private int _foo;
public int Foo
{
set
{
if (_foo == value) return;
_foo = value;
ChangeHappend(this);
}
}
}
class Derived : Base
{
private int _bar;
public int Bar
{
set
{
if (_bar == value) return;
_bar = value;
ChangeHappend(this); // This line gives an error. How can I use ChangeHappend here in Derived?
}
}
}
使用標准模式:在[EventName]上
public class MyBaseClass {
protected virtual void OnSomethingHappend( EventArgs e ) {
EventHandler handler = this.SomethingHappend;
if ( null != handler ) { handler( this, e ); }
}
public event EventhHandler SomethingHappend;
}
public MyDerivedClass : MyBaseClass {
public void DoSomething() {
this.OnSomethingHappend( EventArgs.Empty );
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.