C#自定义事件
class Goumai
{
public delegate void Mydelegate(string name);//定义一个委托
public event Mydelegate Myevent;//定义一个自定义事件,用我刚刚定义的委托定义
public void Zhixing(string name)//定义一个执行事件的方法
{
if(Myevent !=null)
{
Myevent(name);
}
}
}
class Qugouwu
{
public string name;
public Qugouwu(string name)//构造函数,并给它值
{
this.name = name;
}
public void Maidaole(string name)//定义一个要执行的方法
{
Console.WriteLine(name);//输出我们传入的参数
Console.WriteLine("买到了"+this.name);
}
}
class Pr
{
static void Main(string[] args)
{
Goumai goumai = new Goumai();
Qugouwu qugouwu = new Qugouwu("苹果");
goumai.Myevent += new Goumai.Mydelegate(qugouwu.Maidaole);//给事件添加执行事件
//goumai.Myevent("123");//不可以直接调用这个事件,除了在Goumai中
goumai.Zhixing("我去买东西了");//我们传入参数
}
}
定义自定义事件方法
1.首先要定义一个委托
2.再用这个委托定义一个事件
3.在这个类里面写上执行事件的方法(因为不可以直接在这个类以外的地方调用)
4.使用+=的方法去添加事件(先要实例化这个类,然后,实例化好的类.事件+=new 类.委托(执行要执行的方法))
5.调用这个类里面执行事件的函数
版权声明:本文为weixin_42303820原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。