我有一个包含以下事件的基类:
public event EventHandler Loading;
public event EventHandler Finished;
Run Code Online (Sandbox Code Playgroud)
在继承自此基类的类中,我尝试引发事件:
this.Loading(this, new EventHandler()); // All we care about is which object is loading.
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
事件'BaseClass.Loading'只能出现在+ =或 - =(BaseClass')的左侧
我假设我不能像其他继承的成员一样访问这些事件?
我有这个程序:
class One
{
public delegate void del(object o);
public event del SomethingChanged;
int x;
public int X
{
get { return x; }
set { x = value; OnSomethingChanged(this); }
}
protected void OnSomethingChanged(object o)
{
if (SomethingChanged != null)
SomethingChanged(o);
}
}
class Two: One
{
public void ChangeSomething()
{
//if (SomethingChanged != null)
// SomethingChanged(this);
OnSomethingChanged(this);
}
}
static void Main(string[] args)
{
One one = new One();
Console.WriteLine(one.X);
one.SomethingChanged += new One.del(one_SomethingChanged);
one.X = 5;
} …Run Code Online (Sandbox Code Playgroud)