Параметры C# без встроенного массива вызывают ошибку "Спецификации именованных аргументов должны появляться после того, как все фиксированные аргументы были указаны"
Я создал метод с именем "tag", который возвращает объект HtmlTag и получает параметры типа "HtmlTag" (см. Ниже).
Я пытаюсь передать параметры без встроенного массива, но получаю ошибку: "Спецификации именованных аргументов должны появляться после того, как все фиксированные аргументы были указаны".
Ошибка устраняется только путем вставки параметров во встроенный массив (что я действительно не хочу).
Разве я не могу передать параметры без массива?
protected HtmlTag tag(string tagName, string id = null, string classes = null,
Dictionary<string, object> attributes = null, Dictionary<string, object> data = null,
string text = null, params HtmlTag[] content)
{yada yada...}
Посмотрите ниже, как я вызываю метод сверху:
tag("form", "", attributes: ObjList("...."), content:
tag("input", "token", attributes: ObjList("..." + token + "...")),
tag("label", "...", attributes: ObjList("..."), text: "..."),
tag("...", "...", attributes: ObjList("...")));
У меня нет ошибок, когда я вставляю значение "content" params во встроенный массив HtmlTag (см. Ниже):
tag("form", "", attributes: ObjList("...."), content: new HtmlTag[] {
tag("input", "token", attributes: ObjList("..." + token + "...")),
tag("label", "...", attributes: ObjList("..."), text: "..."),
tag("...", "...", attributes: ObjList("..."))});
1 ответ
Благодаря Nyerguds и Jcl я использую перегруженный метод в качестве ответа. Похоже, что это единственный путь (кроме встроенного массива)