4

抱歉,如果之前有人问过这个问题,但我想简要回答以下两种用法之间的区别。VS 似乎接受它们作为有效代码。

private static void doSomeWork()
{
   //do some work
}

public someClass()
{
   //Thread thread = new Thread(doSomeWork);
   //or
   //Thread thread = new Thread(new ThreadStart(doSomeWork));
}
4

1 回答 1

6

唯一的区别是第一个在 C# 1 中不起作用。C# 2 及更高版本的编译器将第一个转换为第二个。

方法组可以隐式转换为具有兼容签名的委托类型。此功能称为“(隐式)方法组转换”。有时您需要第二个来指导重载解决方案,但这里不是这种情况。

于 2012-05-07T12:32:15.453 回答