2010-10-30 5 views
10

Je C# Erreur lors de l'appel:Comment définir l'argument nommé pour string.Format?

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

L'erreur est « spécifications des arguments nommés doivent apparaître après tous les arguments fixes ont été spécifiés »

Comment puis-je résoudre ce problème?

[Modifier]

Je préfère utiliser les paramètres nommés.

Répondre

14

Si vous souhaitez spécifier le nom de l'argument de format, vous devez indiquer le nom de l'argument suivant aussi:

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

Ce n'est pas très utile, comme les noms « arg0 » et « arg1 » ne dit rien du tout sur les arguments.

En outre, il n'y a que surchargent jusqu'à « arg2 », donc si vous avez plus d'arguments, vous devez les mettre dans un tableau pour nommer l'argument:

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

Vous pouvez simplement sauter nommer les arguments :

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

Dans mon cas, je devais nettoyer et reconstruire la solution, qui a fait l'erreur disparaître. Ce qui s'est passé était, j'ai ajouté un argument comme ceci

sched.ScheduleJob (Jobdetail: job, trigger);

Je recevais une erreur pour déclencheur, alors j'ai enlevé, JobDetail :, et l'erreur de syntaxe disparaître, mais sur une complication que j'obtiens toujours l'erreur

spécifications des arguments nommés doivent apparaître après tous les arguments fixes ont été spécifiés

J'ai nettoyé la solution et reconstruit et l'erreur est partie.