在C#中可以使用Invoke
方法來調用一個方法或委托,并獲取其返回值。Invoke
方法是Delegate
類的成員,可以用于調用任何類型的委托。
以下是一個使用Invoke
方法獲取返回值的示例:
using System;
public class Program
{
public static void Main()
{
Func<int, int, int> add = Add;
int result = (int)add.Invoke(3, 4);
Console.WriteLine("Result: " + result);
}
public static int Add(int a, int b)
{
return a + b;
}
}
在上面的示例中,我們定義了一個Add
方法,它接受兩個整數并返回它們的和。我們還定義了一個Func<int, int, int>
委托類型的變量add
,它指向Add
方法。然后,我們使用Invoke
方法調用add
委托,并將參數3和4傳遞給它。最后,我們將返回的結果轉換為整數類型,并將其打印到控制臺上。
請注意,Invoke
方法也可以使用DynamicInvoke
方法來代替。DynamicInvoke
方法是Delegate
類的另一個成員,它接受一個object[]
類型的參數數組,并且可以用于調用任何類型的委托。使用DynamicInvoke
方法的示例與上面的示例類似,只需將Invoke
替換為DynamicInvoke
即可。