在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
即可。