委托与事件
Posted imstrive
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了委托与事件相关的知识,希望对你有一定的参考价值。
除了使用delegate关键字定义委托,还可以使用系统关键字Action、Func和Predicate直接使用委托
Action(无返回值):
(1)使用匿名方法调用委托:
1 /****************使用匿名方法**************/
2 Action<string> action = delegate(string str)
3 {
4 Console.WriteLine(str);
5 };
6 action("Parameters");
(2)使用Lambda表达式调用委托:
1 /****************使用Lambda表达式**************/
2 Action<string> action = (string str) =>
3 {
4 Console.WriteLine(str);
5 };
6 action("Parameters");
(3)调用无参方法:
- 方法体:
1 private static void ShowMsg()
2 {
3 Console.WriteLine("Action无参无返回!");
4 }
- 通过Action调用方法:
1 Action action = ShowMsg;
2 action();
(4)调用带参数的方法:
- 方法体:
1 private static void ShowMsg(string msg)
2 {
3 Console.WriteLine("Action单参无返回!参数为:{0}", msg);
4 }
- 通过Action调用方法:
1 /****************使用带参数方法**************/
2 Action<string> action = new Action<string>(ShowMsg);
3 action("测试");
以上是关于委托与事件的主要内容,如果未能解决你的问题,请参考以下文章