C#委托是什么
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
法庭上律师为当事人辩护,他真正执行的是当事人的陈词,律师就相当于一个委托对象,而当事人则委托律师对象为自己辩护。 c#中的委托概念也就好比律师对象,它是一个类(“委托是类类型”这个事实将在“委托本质”部分进行详细介绍),因为只有类才有对象的概念,这也体现了c#作为一门面向对象语言的特性。 c#中的委托可以理解为函数的一个包装,它使得c#中的函数可以作为参数来被传递,这在作用上相当于c++中的函数指针。c++用函数指针获取函数的入口地址,然后通过这个指针来实现对函数的操作。 委托的定义和方法的定义类似,只是在定义的前面多了一个delegate关键字。如下定义:
委托能包装的方法是有一定限制的,例如能被前面的委托类型MyDelegate包装的方法需要满足以下条件: 1.方法的返回类型必须为void; 2.方法必须有两个参数,并且第一个参数应为int类型,第二个参数为string类型。 总结:可以被委托包装的方法必须满足以下规则: 1.方法的签名必须与委托一致,方法签名包括参数的个数、类型和顺序; 2.方法的返回类型要和委托一致,注意,方法的返回类型不属于方法签名的一部分。 该文章在 2021/1/29 8:57:26 编辑过 |
关键字查询
相关文章
正在查询... |