在C#中,可以使用委托(delegate)來實現函數指針回調的功能。委托是一種類型安全的函數指針,它可以封裝一個方法,并允許將該方法作為參數傳遞給其他方法或存儲在變量中。通過定義一個委托類型,并將方法的引用傳遞給委托變量,可以實現函數指針回調的效果。
下面是一個簡單的示例代碼,演示如何通過委托實現函數指針回調:
using System;
// 定義一個委托類型
delegate void CallbackFunction(int num);
class Program
{
static void Main()
{
// 創建委托實例并將方法傳遞給委托
CallbackFunction callback = PrintNumber;
// 調用回調函數
callback(10);
}
static void PrintNumber(int num)
{
Console.WriteLine($"Number: {num}");
}
}
在上面的示例中,我們定義了一個名為CallbackFunction
的委托類型,它接受一個int
類型的參數并且返回void
。然后我們定義了一個靜態方法PrintNumber
,用于打印傳入的數字。在Main
方法中,我們創建了一個委托實例并將PrintNumber
方法傳遞給委托。最后,我們通過調用委托的方式來觸發回調函數。
使用委托實現函數指針回調的方法是C#中推薦的做法,它更加類型安全和易于維護。