您好,登錄后才能下訂單哦!
這篇文章主要介紹“什么是.NET Framework委托的預定義方法”,在日常操作中,相信很多人在什么是.NET Framework委托的預定義方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”什么是.NET Framework委托的預定義方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
.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>()
封裝一個具有一個參數并返回 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
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委托的預定義方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。