委托上的可选参数不能正常工作

本文关键字:常工作 工作 不能 参数 | 更新日期: 2023-09-27 17:49:42

为什么这段代码不能编译?

delegate int xxx(bool x = true);
xxx test = f;
int f()
{
   return 4;
}

委托上的可选参数不能正常工作

可选参数用于调用端-而不是有效地像单方法接口实现那样使用。例如,这个应该编译:

delegate void SimpleDelegate(bool x = true);
static void Main()
{
    SimpleDelegate x = Foo;
    x(); // Will print "True"
}
static void Foo(bool y)
{
    Console.WriteLine(y);
}

test(false)会发生什么?

试试:

static int f(bool a)
{
  return 4;
}