Как установить именованный аргумент для string.Format?

У меня ошибка С# при вызове:

string.Format(format:"abbccc", 1,22);

Ошибка: "Спецификации именованных аргументов должны появиться после указания всех фиксированных аргументов"

Как я могу это исправить?

[Изменить]

Я предпочитаю использовать именованные параметры.


person Nam G VU    schedule 30.10.2010    source источник


Ответы (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);
person Guffa    schedule 30.10.2010

В моем случае мне пришлось очистить и перестроить решение, после чего ошибка исчезла. Произошло следующее: я добавил такой аргумент

sched.ScheduleJob(Jobdetail:job, trigger); 

Я получал ошибку для триггера, поэтому я удалил JobDetail:, и синтаксическая ошибка исчезла, но при усложнении я все еще получал ошибку

Спецификации именованных аргументов должны появиться после указания всех фиксированных аргументов.

Я очистил решение и пересобрал, и ошибка исчезла.

person Hammad Khan    schedule 06.09.2013