【发布时间】:2014-09-18 15:52:59
【问题描述】:
在 C# 中,我们可以提供参数的默认值,如下所示:
void Foo(int i =0) {}
但是,当方法签名是:
void FooWithDelegateParam(Func<string,string> predicate)
{}
我们如何传递默认参数:
void FooWithDelegateParam(Func<string,string> predicate = (string,string x)=> {return y;})
{}
但这不会编译。那么,这样做的正确语法是什么?
注意:我试图提供一种方法来通过委托指定 输入字符串到输出字符串映射器,如果没有提供,我只想返回输入字符串。因此,对于实现这一目标的任何替代方法的建议也受到高度赞赏。谢谢。
【问题讨论】:
标签: c# syntax delegates optional-parameters