使用部分匹配的函数作为委托?

时间:2018-06-30 03:41:36

标签: c# delegates

让我说:

static void Foo(string s, int i){//some implementation}
static void Bar(string s){//some other implementation}
delegate void Del(string s);

显然,有可能去:

Del d = Bar

但是有可能做类似的事情:

Del d2 = Foo(7); //just takes in string s as the only parameter;

我想知道是否有一种方法可以重新定义一些参数,以使剩余的参数与委托的签名匹配。

是否可以这样,而不必定义这样的中间方法:

static void IntermediateMethod(string s){ return Foo(s, 7);}

`

1 个答案:

答案 0 :(得分:0)

我认为这是我最想要的。

Del d2 = delegate(string s){Foo(s,7);};

这基本上实现了我的目标,因为该方法是匿名的,并且您不需要中间方法。