Как установить именованный аргумент для string.Format?
У меня есть ошибка С# при вызове:
string.Format(format:"abbccc", 1,22);
Ошибка: "Именованные аргументы должны появляться после того, как были заданы все фиксированные аргументы"
Как я могу это исправить?
[изменить]
Я предпочитаю использовать именованные параметры.
Ответы
Ответ 1
Если вы хотите указать имя аргумента формата, вы также должны указать имя следующего аргумента:
string.Format(format:"abbccc", arg0:1, arg1:22);
Это не очень полезно, поскольку имена "arg0" и "arg1" вообще ничего не говорят о аргументах.
Кроме того, есть только перегрузки до "arg2", поэтому, если у вас больше аргументов, вы должны поместить их в массив, чтобы назвать аргумент:
string.Format(format:"abbccc", args:new object[] { 1, 2, 3, 4 });
Вы можете просто пропустить присвоение имен аргументам:
string.Format("abbccc", 1, 22);
Ответ 2
В моем случае мне пришлось очистить и перестроить решение, из-за которого ошибка исчезла. Что случилось, я добавил такой аргумент
sched.ScheduleJob(Jobdetail: задание, триггер);
Я получал ошибку для триггера, поэтому я удалил JobDetail:, и синтаксическая ошибка исчезла, но при усложнении я все еще получал ошибку
Именованные аргументы должны появляться после всех фиксированных аргументов были указаны
Я очистил решение и перестроил, и ошибка исчезла.