C#委托

委托概念

c#中的委托概念也就好比律师对象,它是一个类(“委托是类类型”这个事实将在“委托本质”部分进行详细介绍),因为只有类才有对象的概念,这也体现了c#作为一门面向对象语言的特性。

c#中的委托可以理解为函数的一个包装,它使得c#中的函数可以作为参数来被传递,这在作用上相当于c++中的函数指针。c++用函数指针获取函数的入口地址,然后通过这个指针来实现对函数的操作。

委托的定义和方法的定义类似,只是在定义的前面多了一个delegate关键字。如下定义:

  

public delegate void MyDelegate(int para1, string para2);

  委托能包装的方法是有一定限制的,例如能被前面的委托类型MyDelegate包装的方法需要满足以下条件:

    1.方法的返回类型必须为void;

    2.方法必须有两个参数,并且第一个参数应为int类型,第二个参数为string类型。

      总结:可以被委托包装的方法必须满足以下规则:

    1.方法的签名必须与委托一致,方法签名包括参数的个数、类型和顺序;

    2.方法的返回类型要和委托一致,注意,方法的返回类型不属于方法签名的一部分。

    C#委托

 

 

委托使用的演示

public delegate void MyDelegate(int para1, int para2); 
void Add(int para1,int para2) { }

MyDelegate d = new MyDelegate(Add);
MyMethod(d); void Add(int para1,int para2) {
int sum = para1 + para2;
Console.WriteLine("两个数的和为:" + sum);
} private static void MyMethod(MyDelegate mydelegate) //参数是委托类型,函数作为参数传递
{
mydelegate(1, 2);
}

  

 

原文链接: https://www.cnblogs.com/wfy680/p/12378687.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C#委托

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/332518

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午6:32
下一篇 2023年3月1日 下午6:33

相关推荐