总结: 1. 事件可以 用 +=
2. 委托 用 = 委托包括 事件委托
都要调用委托方法相应的方法才能调用执行
封装一个方法,该方法不具有参数且不返回值。
C#复制
public delegate void Action();
继承
Action
public delegate void ShowValue(); // 这个可以被下面的Action 替换掉,因为Action 就是一个委托类型
ShowValue showMethod = testName.DisplayToConsole;
showMethod(); // 调用委托方法
扫描二维码关注公众号,回复:
4258726 查看本文章
class Program
{
static void Main(string[] args)
{
Name testName = new Name("Hello");
testName.OnTest += testName.DisplayToConsole; // 这是事件
// Action showMethod = testName.DisplayToConsole;
// showMethod(); or showMethod.Invoke(); //1.。 这是委托
testName.Init(); // 2. 如果去掉这句,则这个Init()方法里的委托事件并没有调用,则不会执行+= 右边的函数
Console.Read();
}
}
public class Name
{
public event Action OnTest;
private string instanceName;
public Name(string name)
{
this.instanceName = name;
}
public void DisplayToConsole()
{
Console.WriteLine(this.instanceName);
}
public void Init()
{
OnTest();
}
}