动作似乎不支持参数字符串[]作为参数,所以我写了

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

我该如何写这个?

有帮助吗?

解决方案

您的问题不清楚。我们想猜测 sw 是一个 StreamWriter?如果是这样,看来这将起作用:

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

其他提示

我认为您不能这样做,因为可变参数列表是 不是 与匿名方法兼容 MSDN。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top