C#传递委托与传递方法

时间:2017-10-13 08:27:59

标签: c# delegates

如果我有一个接受委托作为参数的方法,传递委托(指向方法)和传入方法名称之间是否有区别?如果是这样,每种方法的优势/劣势是什么?

delegate void MyDel();
static void MyFunc(MyDel)
{
MyDel();
}
static void SomeFunc(){//do stuff}
static void Main()
{
MyDel del= new MyDel(SomeFunc);

//What's the difference between the approaches below?
del();
MyFunc(SomeFunc);
}

1 个答案:

答案 0 :(得分:-3)

委托用于调用方法线程安全。它们是类型安全的。 直接传递方法意味着如果您更改,例如一个Form.Control它可能会崩溃您的应用程序。因此,您需要一名代表

好的,我把它拿回来了:)