namespace Test
{
class Program
{
static void Main(string[] args)
{
MonitoringNameChangement M = new MonitoringNameChangement();
M.NameChanged += new NameChanged(M_NameChanged);
while (true)
{
Console.WriteLine("请输入一个新的名字,您将会看到您自定义的事件会被执行");
M.ChangeName = Console.ReadLine();
}
}
static void M_NameChanged(string oldName, string NewName)
{
Console.WriteLine("******************************************* 名字已经改变");
Console.WriteLine("新名字是: {0} 老名字是: {1}", NewName, oldName);
Console.WriteLine("******************************************* ");
}
}
//定义一个监控名字变化的委托
public delegate void NameChanged(string oldName, string NewName);
//定义一个名字监控类
public class MonitoringNameChangement
{
private string name = "老名字";
public string ChangeName
{
set
{
//如果输入的是全新的名字,则会调用监控名字的事件,并且存储新名字
if (name != value)
{
NameChanged(name, value);
name = value;
}
}
get
{
return name;
}
}
//监控名字的事件
public event NameChanged NameChanged;
}
}
c#自定义事件(转)
最新推荐文章于 2024-04-18 15:44:29 发布