1、简单来说委托就是函数指针,学过C语言或者C++的同学,对于函数指针比较熟悉了。 函数指针可以指向固定格式的挣窝酵聒函数,并通过函数指针对指向的函数进行调用。下面就看一下Action委托,是不是跟函数指针很类似。首先创建控制台应用程序,如下图:
2、添加static的SayHello方法,无返回值,无参数。如下图:
3、下面重点来啦,在Main函数中定义Action委托,并初始化为SayHello方法。重点看一下,如何定义Action、并如何给Action赋值的。 没用过委托的同学,这里可能会犯迷糊。 如下图:
4、注意:上面new Action后面括号里只写SayHello不能写SayHello()。SayHello()这种写法是对函数的调用。
5、下面通过定义的Action类型的变量,来调用SayHello方法。注意:使用的是Action类型的变量。 如下图:
6、运行结果如下,打印出来了“Hello,World!”。 如下图:
7、下面按照惯例,总结一下。1.委托相当于C语言与C++中的函数指针;2.Action委托可以指向无参数、无返回值的函数。3.可以通过委托调用其指向的函数。当然委托跟Action委托,还有更强大的功能。比如使用在带泛型的Action委托,可以指向带参数、无返回值的函数;C#中的事件机制也是已委托为基础的。 这些内容我们后面会一一讲解。敬请期待。