您的位置:首页 > 编程语言 > C#

C#自定义事件

2016-04-04 15:10 337 查看
class Program
{

private int number;
private delegate void NumberChangedHandle(object sender,object args);
private event NumberChangedHandle ChangeNumber;
public Program()
{
number = 0;
ChangeNumber += new NumberChangedHandle(OnChangeNumber);
}
public void SetNumber(int value)
{
if (number != value)
{
Console.WriteLine("SetNumber=>正在将" + number + "更改为" + value);
number = value;
if (ChangeNumber != null) ChangeNumber(this, new List<int>() { number,value });//通知事件处理者  ,并发送事件信息
}
}

public void OnChangeNumber(object sender,object args)
{
Console.WriteLine("Tip=>检测到值已经改变,事件源:" + sender.ToString() + " 参数[0]:" + ((List<int>)args)[0]);//强制转换取出参数列表
}

static void Main(string[] args)
{

var p = new Program();
p.SetNumber(5);
p.SetNumber(15);

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: