Как установить именованный аргумент для string.Format?
У меня ошибка C# при звонке:
string.Format(format:"abbccc", 1,22);
Ошибка "Спецификации именованных аргументов должны появляться после того, как все фиксированные аргументы были указаны"
Как я могу это исправить?
[Редактировать]
Я предпочитаю использовать именованные параметры.
2 ответа
Если вы хотите указать имя аргумента формата, вы должны также указать имя следующего аргумента:
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);
В моем случае мне пришлось очистить и перестроить решение, из-за которого ошибка исчезла. Что случилось, я добавил такой аргумент
sched.ScheduleJob(Jobdetail:job, триггер);
Я получаю ошибку для триггера, поэтому я удалил JobDetail: и ошибка синтаксиса ушла, но при усложнении я все еще получал ошибку
Спецификации именованных аргументов должны появляться после того, как все фиксированные аргументы были указаны
Я очистил решение и восстановил, и ошибка ушла.