事件是基于委托的,不一定要那个才是事件
不过总要有人定一个规范(object sender , EventArgs e)前者是触发事件的对象,后都是事件相关的数据对象。
正常的事件编写模式是
public delegate void EventHandler();
public class Button
{
public event EventHandler Click;
protected virtual void InClick()
{
if(Click != null)
Click();
}
}
事件是内部触发的,如果由一个公共方法直接引起没多大意思
定义一个受保护的虚拟方法的原因,当派生在触发事件前要做别的事件的情况,就可以重写得到新功能。
不过总要有人定一个规范(object sender , EventArgs e)前者是触发事件的对象,后都是事件相关的数据对象。
正常的事件编写模式是
public delegate void EventHandler();
public class Button
{
public event EventHandler Click;
protected virtual void InClick()
{
if(Click != null)
Click();
}
}
事件是内部触发的,如果由一个公共方法直接引起没多大意思
定义一个受保护的虚拟方法的原因,当派生在触发事件前要做别的事件的情况,就可以重写得到新功能。
然而却没有这两个参数,可是却破了这个约定;相信也是事件但不符合约定;
2.由于是在一个类里,且main()本来就是静态方法,故可以访问本类静态方法show();