C# 委託類似於 C 或 C 中的函數指標。委託是一個引用類型變量,它保存對方法的引用。可以在運行時更改引用。
宣告委託的語法 -
delegate <return type> <delegate-name> <parameter list>
現在讓我們看看如何在 C# 中實例化委託。
聲明委託類型後,必須使用 new 關鍵字建立委託物件並將其與特定方法關聯。建立委託時,傳遞給新表達式的參數的編寫方式類似於方法調用,但沒有方法的參數。
public delegate void printString(string s); ... printString ps1 = new printString(WriteToScreen); printString ps2 = new printString(WriteToFile);
以下是在 C# 中宣告和實例化委託的範例 -
現場示範
using System; delegate int NumberChanger(int n); namespace DelegateAppl { class TestDelegate { static int num = 10; public static int AddNum(int p) { num += p; return num; } public static int MultNum(int q) { num *= q; return num; } public static int getNum() { return num; } static void Main(string[] args) { //create delegate instances NumberChanger nc1 = new NumberChanger(AddNum); NumberChanger nc2 = new NumberChanger(MultNum); //calling the methods using the delegate objects nc1(25); Console.WriteLine("Value of Num: {0}", getNum()); nc2(5); Console.WriteLine("Value of Num: {0}", getNum()); Console.ReadKey(); } } }
Value of Num: 35 Value of Num: 175
以上是如何在C#中聲明和實例化委託?的詳細內容。更多資訊請關注PHP中文網其他相關文章!