Как мне реализовать этот делегат?
-
22-09-2019 - |
Вопрос
Действие, кажется, не поддерживает 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.
Не связан с StackOverflow