Shorthand 用于初始化委托
Shorthand for initializing delegates
假设我有一个将委托作为参数的方法,如下所示:
public delegate void SampleDelegate(int foo);
public void DoSomething(SampleDelegate del)
{
//Does something
}
做这样的事情会有 shorthand 吗?
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;
});
}
但这会产生语法错误。执行上述操作是否有正确的语法?
您可以使用 lambda 表达式将函数创建为表达式:
DoSomething(myInt => { ... });
您也不需要声明 SampleDelegate
。您可以使用 Action<int>
。
假设我有一个将委托作为参数的方法,如下所示:
public delegate void SampleDelegate(int foo);
public void DoSomething(SampleDelegate del)
{
//Does something
}
做这样的事情会有 shorthand 吗?
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;
});
}
但这会产生语法错误。执行上述操作是否有正确的语法?
您可以使用 lambda 表达式将函数创建为表达式:
DoSomething(myInt => { ... });
您也不需要声明 SampleDelegate
。您可以使用 Action<int>
。