Вопрос

Действие, кажется, не поддерживает 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

Как мне это написать?

Это было полезно?

Решение

Ваш вопрос не ясен. Предполагаем ли мы догадаться, что sw это StreamWriter? Если так, похоже, это сработает:

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

Другие советы

Я думаю, что вы не можете сделать это, потому что переменные списки аргументов - это НЕТ совместим с анонимными методами, согласно MSDN.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top