温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

什么是.NET Framework委托的预定义方法

发布时间:2021-06-17 14:30:39 来源:亿速云 阅读:145 作者:chen 栏目:编程语言

这篇文章主要介绍“什么是.NET Framework委托的预定义方法”,在日常操作中,相信很多人在什么是.NET Framework委托的预定义方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是.NET Framework委托的预定义方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

.NET Framework开发环境对于开发人员来说是一个非常实用的开发平台。我们可以通过它来进行WEB应用程序的部署。前言:从.NET Framework2.0开始以来,系统预定义的委托使使代码看起来有点像“天书”,再加上匿名表达式,以及后面Lambda表达式的“掺和”,代码就更加难懂了,于是自己就一点点查MSDN,到现在终于有点入门了。

用.NET Framework委托:

  1. 1、public delegate void Action< T>(T obj )   

  2. 2、public delegate TResult Func< TResult>()  

  3. 3、public delegate bool Predicate< T>(T obj)  

其中:Action和Func还包括从不带任何参数到最多四个参数的重载?

1、public delegate void Action< T>(T obj )

封装一个方法,该方法只采用一个参数并且不返回值。

Code

  1. Action< string> messageTarget;   

  2. messageTarget = s => Console.
    WriteLine(s);  

  3. messageTarget("Hello, World!"); 

2、public delegate TResult Func<TResult>()

封装一个具有一个参数并返回 TResult 参数指定的类型值的方法。

类型参数T

此委托封装的方法的参数类型。

TResult

此.NET Framework委托封装的方法的返回值类型

Code

public static void Main()  {  // Instantiate delegate to reference UppercaseString method  ConvertMethod convertMeth = UppercaseString;  string name = "Dakota";  // Use delegate instance to call UppercaseString method  Console.WriteLine(convertMeth(name));  }  private static string UppercaseString(string inputString)  {  return inputString.ToUpper();  }

3、public delegate bool Predicate<T>(T obj)

表示定义一组条件并确定指定对象是否符合这些条件的方法。

类型参数

T:要比较的对象的类型。

返回值

如果 obj 符合由此委托表示的方法中定义的条件,则为 true;否则为 false。

Code

  1. public static void Main()  

  2. {  

  3. // Create an array of five Point 
    structures.  

  4. Point[] points = { new Point(100, 200),   

  5. new Point(150, 250), new Point(250, 375),   

  6. new Point(275, 395), new Point(295, 450) };  

  7. Point first = Array.Find(points, ProductGT10);  

  8. // Display the first structure found.  

  9. Console.WriteLine("Found: X = {0}, 
    Y = {1}", first.X, first.Y);  

  10. }  

  11. // This method implements the test 
    condition for the Find  

  12. // method.  

  13. private static bool ProductGT10(Point p)  

  14. {  

  15. if (p.X * p.Y > 100000)  

  16. {  

  17. return true;  

  18. }  

  19. else  

  20. {  

  21. return false;  

  22. }  

到此,关于“什么是.NET Framework委托的预定义方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI