重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1 在C#中什么是委托?
成都创新互联2013年开创至今,先为都安等服务建站,都安等地企业,进行企业商务咨询服务。为都安企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。它是C#中一种新的类型,它的作用相当于C语言中的函数指针,但与函数指针相比,委托是类型安全的并且是完全面向对象的。
通过委托可以间接的调用一个方法(实例方法或静态方法都可以的)。委托包含对方法的引用,使用委托可以在运行时动态的设定要调用的方法,执行或调用委托,意味着执行该委托指向(引用)的方法。
委托指向的方法必须和委托具有相同的方法签名,即委托的参数数量、数据类型和顺序、返回值必须都要一致。
2 委托的定义和调用
例如: (指向的是静态方法)
注意:
实例化委托是将委托指向或引用某个方法,也就是必须要讲某一个方法作为参数传递委托的构造方法。
如果此处这样写:
就会报错,因为并没有将委托指向某一个方法。
例如2:(指向实例方法)
3 匿名方法
要想使用委托,委托所指向的方法必须存在。但在C#2.0中使用委托还有另一种方式:匿名方法。
匿名方法:就是没有名字的方法,和javascript中比较类似,就是不需要定义委托要指向(引用)的方法,而是把要引用的方法的方法体直接作为参数传递给
委托的构造方法。
例如:
不使用匿名方法的代码:
使用匿名方法的代码:
所以:匿名方法就是把委托要引用的方法的方法体直接放在实例化委托时的后面或者构造方法里作为一个参数,用户不用指定匿名方法的返回值类型,返回值类型由return语句决定,
并必须和定义委托时的返回类型一致。
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。