1

我想让这个函数在我的程序中工作,但 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);
   }
}
4

1 回答 1

8

您尚未指定要使用的委托类型。它可能是一个带参数的委托——在这种情况下,显然你不能在没有参数的情况下调用它。您可能想使用特定的委托类型,例如

static private void TryThisFunc(Action action)
{
    try
    {
        action();
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
}
于 2012-10-25T19:25:03.020 回答