委托学习

    xiaoxiao2022-06-28  28

    委托简单的说就是:执行相似的任务,根据参数,执行不同的方法,传统的做法太过冗余;通过定义委托将方法变相变成参数传进函数。 参考文章: //个人练习的代码 Main(){ DelegateTest task = new DelegateTest(); task.Run(); task.delegate1 = task.EnglishGreeting; task.MakeGreeting3("xiangsheng yu"); } public class DelegateTest     {         public void Run()         {             //传统处理方式             MakeGreeting("John");                      //委托  理解:一批类似的动作,需要执行不同的方法,委托将不同方法名当作参数放进总函数             MakeGreeting2("俞祥胜", ChineseGreeting);             //委托  用法二  在执行前赋值委托对象,告知要执行的方法名称             MakeGreeting3("");         }         public void MakeGreeting(string name,string language="English")         {             //使用if、swith等判断参数执行不同的方法             Console.WriteLine("传统执行方式:判断执行不同方法");             EnglishGreeting(name);         }         public delegate void GreetingDelegate(string name);         public void MakeGreeting2(string name, GreetingDelegate doGreeting)         {             Console.WriteLine("委托处理方式:定义委托,将方法名当作参数进行传递");             doGreeting(name);         }       public GreetingDelegate delegate1;         public void MakeGreeting3(string name)         {                          if (delegate1!=null)                 delegate1(name);         }         public void EnglishGreeting(string name)         {             Console.WriteLine("Morning, " + name);         }         public void ChineseGreeting(string name)         {             Console.WriteLine("早上好, " + name);         } }
    转载请注明原文地址: https://ju.6miu.com/read-1124427.html

    最新回复(0)