2010-10-30 8 views
10

tengo C# error al llamar:Cómo establecer el argumento con nombre para string.Format?

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

El error es "especificaciones argumento con nombre deben aparecer después de todos los argumentos fijos se han especificado"

¿Cómo puedo solucionar este problema?

[Editar]

Yo prefiero usar parámetros con nombre.

Respuesta

14

Si desea especificar el nombre del argumento formato, tiene que especificar el nombre del siguiente argumento también:

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

Eso no es muy útil, ya que los nombres "arg0" y "arg1" no dice nada sobre los argumentos.

Además, sólo hay sobrecarga hasta "arg2", por lo que si usted tiene más argumentos, hay que ponerlas en una matriz para nombrar el argumento:

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

Usted puede simplemente omitir nombrar los argumentos :

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

En mi caso, tuve que limpiar y reconstruir la solución, que cometió el error desaparezca. Lo que sucedió fue que agregué un argumento como este

sched.ScheduleJob (Jobdetail: job, trigger);

que estaba recibiendo un error de disparo, por lo quité, JobDetail :, y vaya el error de sintaxis de distancia, pero en complicación todavía estaba consiguiendo el error

especificaciones argumento con nombre debe aparecer después de todos los argumentos fijos se han especificado

Limpié la solución y reconstruí y el error desapareció.

Cuestiones relacionadas