2010-10-30 9 views
10

Ho C# errore al momento della chiamata:Come impostare l'argomento named per string.Format?

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

L'errore è "specifiche argomento denominato devono apparire dopo sono stati specificati tutti gli argomenti fissi"

Come posso risolvere questo problema?

[Edit]

preferisco usare parametri denominati.

risposta

14

Se si desidera specificare il nome dell'argomento formato, è necessario specificare il nome del seguente argomento anche:

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

Questo non è molto utile, in quanto il nome "arg0" e "arg1" non dice nulla sugli argomenti.

Inoltre, ci sono sovraccarichi solo fino a "arg2", quindi se avete più argomenti, bisogna metterli in un array di nominare l'argomento:

string.Format(format:"abbccc", args:new object[] { 1, 2, 3, 4 }); 

Si può semplicemente ignorare nominare gli argomenti :

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

Nel mio caso, ho dovuto pulire e ricostruire la soluzione, che ha fatto l'errore di andare via. Quello che è successo è stato, ho aggiunto un argomento come questo

sched.ScheduleJob (Jobdetail: job, trigger);

mi stavo un errore per grilletto, così ho rimosso, JobDetail :, e l'errore di sintassi vado via ma sulla complicazione ero ancora ottenendo l'errore

specifiche argomento denominato deve apparire dopo tutti gli argomenti fissi sono stati specificati

Ho pulito la soluzione e ricostruito e l'errore è andato via.