在C#中,可以通過使用泛型來定義委托,以實現更靈活和通用的委托類型。泛型委托的定義方式與普通委托類似,只是在聲明委托時使用泛型類型參數。
例如,定義一個泛型委托類型:
public delegate T MyDelegate<T>(T param);
然后可以使用這個泛型委托類型來創建委托實例,如下所示:
public class Program
{
public static int Add(int a)
{
return a + 10;
}
public static void Main()
{
MyDelegate<int> myDelegate = Add;
Console.WriteLine(myDelegate(5)); // 輸出 15
}
}
在上面的示例中,我們定義了一個返回類型為T、接受一個T類型參數的泛型委托MyDelegate
使用泛型委托可以讓我們更靈活地定義委托類型,同時能夠避免重復定義多個相似的委托類型。