这篇文章主要介绍“什么是.NET Framework委托的预定义方法”,在日常操作中,相信很多人在什么是.NET Framework委托的预定义方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是.NET Framework委托的预定义方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
闽清网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
.NET Framework开发环境对于开发人员来说是一个非常实用的开发平台。我们可以通过它来进行WEB应用程序的部署。前言:从.NET Framework2.0开始以来,系统预定义的委托使使代码看起来有点像“天书”,再加上匿名表达式,以及后面Lambda表达式的“掺和”,代码就更加难懂了,于是自己就一点点查MSDN,到现在终于有点入门了。
用.NET Framework委托:
1、public delegate void Action< T>(T obj )
2、public delegate TResult Func< TResult>()
3、public delegate bool Predicate< T>(T obj)
其中:Action和Func还包括从不带任何参数到最多四个参数的重载?
1、public delegate void Action< T>(T obj )
封装一个方法,该方法只采用一个参数并且不返回值。
Code
Action< string> messageTarget;
messageTarget = s => Console.
WriteLine(s);messageTarget("Hello, World!");
2、public delegate TResult Func
封装一个具有一个参数并返回 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:要比较的对象的类型。
返回值
如果 obj 符合由此委托表示的方法中定义的条件,则为 true;否则为 false。
Code
public static void Main()
{
// Create an array of five Point
structures.Point[] points = { new Point(100, 200),
new Point(150, 250), new Point(250, 375),
new Point(275, 395), new Point(295, 450) };
Point first = Array.Find(points, ProductGT10);
// Display the first structure found.
Console.WriteLine("Found: X = {0},
Y = {1}", first.X, first.Y);}
// This method implements the test
condition for the Find// method.
private static bool ProductGT10(Point p)
{
if (p.X * p.Y > 100000)
{
return true;
}
else
{
return false;
}
}
到此,关于“什么是.NET Framework委托的预定义方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!