我们说我有一个方法将委托作为参数,如下所示:
public delegate void SampleDelegate(int foo);
public void DoSomething(SampleDelegate del)
{
//Does something
}
是否会有这样做的简写?
static void Main(String[] args)
{
void bar(int foo) {
int x = foo;
}
DoSomething(bar);
}
或者这是最有效的方法吗?
理想情况下,我会做这样的事情:
static void Main(String[] args)
{
DoSomething(void(int foo) {
int x = foo;
});
}
但是会产生语法错误。是否有适当的语法来执行上述操作?
答案 0 :(得分:2)
您可以使用lambda表达式将函数创建为表达式:
DoSomething(myInt => { ... });
您也不需要声明SampleDelegate
。您可以使用Action<int>
。