使用预定义参数委托
Delegate with predefined parameter
我需要将指向函数的指针作为参数传递。它看起来像这样:
void f(Action<String> a);
但是如果调用者知道将使用哪个字符串怎么办。他总是知道这一点。当然我可以再添加一个参数,但这并不酷。
我能以某种方式创建带有预定义参数的委托吗?谢谢
编辑:
作为解决方法,我可以这样做
void f(Action<String> a, String s)
{
a(s);
}
...
f(_delegate, "string");
正如@Spo1ler 评论的那样,传递 Action
而不是 Action<string>
:
void f(Action a)
{
a();
}
...
f(() => _delegate("string"));
我需要将指向函数的指针作为参数传递。它看起来像这样:
void f(Action<String> a);
但是如果调用者知道将使用哪个字符串怎么办。他总是知道这一点。当然我可以再添加一个参数,但这并不酷。
我能以某种方式创建带有预定义参数的委托吗?谢谢
编辑:
作为解决方法,我可以这样做
void f(Action<String> a, String s)
{
a(s);
}
...
f(_delegate, "string");
正如@Spo1ler 评论的那样,传递 Action
而不是 Action<string>
:
void f(Action a)
{
a();
}
...
f(() => _delegate("string"));