我想让这个函数在我的程序中运行,但是Visual Studio告诉我MyFunc是一个变量但是像方法一样使用,但这就是我想要做的。试着打电话。
static private void TryThisFunc(Delegate MyFunc)
{
try
{
MyFunc(); // MyFunc is a variable but is used like a method
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
答案 0 :(得分:8)
您尚未指定要使用的委托的类型。它可以是一个带参数的委托 - 在这种情况下,显然你不能在没有参数的情况下调用它。您可能希望使用特定的委托类型,例如
static private void TryThisFunc(Action action)
{
try
{
action();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}