Domanda

C'è un modo per controllare la stringa di formato in fase di compilazione ?

Esempio:

Console.WriteLine("{0} is a really {1} site", "stackoverflow.com", "cool");//this will run

//questo darà un'eccezione come solo argomento è fornito

Console.WriteLine("{0} is a really {1} site", "stackoverflow.com");

Exception:"Index (zero based) must be greater than or equal to zero and less than the size of the argument list."

e se la stringa di formato non è nel formato corretto (cioèmancante "}" dopo 1 qui )

Console.WriteLine("{0} is a really {1 site", "stackoverflow.com","cool");

Exception: Input string was not in a correct format.
È stato utile?

Soluzione

No, non è possibile aggiungere in fase di compilazione verifica qui.Questo è uno dei giù i lati della risorsa stringhe e le stringhe di formattazione.Si può fare un paio di cose per mitigare il problema.

  1. Fondo di unit test per il pubblico interfacce per essere sicuri che le stringhe sono formattati correttamente.
  2. L'utilizzo di strumenti come ReSharper che possono eseguire l'analisi statica e farvi conoscere questi problemi prima di eseguire l'applicazione.
  3. Le cose sono meglio di tre.

Altri suggerimenti

No, non c'è modo di fare questo.I test di unità risolve questo problema.

Anche se non del tutto in fase di compilazione, ReSharper può avvertire in Visual Studio quando il numero di argomenti è sbagliata o la stringa di formato è un formato errato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top