我该如何实现这个委托?

时间:2010-02-24 01:24:41

标签: c# delegates inline-functions

动作似乎不支持params string []作为参数,所以我写了

delegate void WriteFn(string s, params string[] ls);

我有这个功能

void blah(WriteFn Write, string fmt, params string[] a)

现在我想写一个函数,但我似乎无法弄清楚语法。它类似于

{
    var sw = ...
    blah(new WriteFn(s, ls) { sw.write(s, ls); }, fmt, a);
    //not what i want to do but close enough. remember sw isnt a param in WriteFn

我该怎么写呢?

2 个答案:

答案 0 :(得分:2)

你的问题不明确。我们是否猜测swStreamWriter?如果是这样,它看起来会起作用:

blah((s, ls) => sw.Write(s, ls), fmt, a);

答案 1 :(得分:0)

我认为你不能这样做,因为根据MSDN.

,变量参数列表 NOT 与匿名方法兼容