E se lo String.Format fosse verboso?

La capacità della stringa di formattare un insieme di dati, grazie anche alla definizione di formattabilità dei campi, è una delle funzionalità che più mi piaciono della stringa... anche se poi String.Format mi capita a volte di usarla anche fin troppo... che in fondo non sempre è necessaria :-p

Tuttavia una _limitazione_ della funzione è il fatto che va per indice a recuperare i dati da un array di oggetti. Beh dire limite è una paraola grossa in fondo pattern di formattazione e la definizione dell'array di oggetti sono tutti definiti dal programmatore hardcoded per cui un possibile errore è dovuto solo ad un errore di scrittura del codice. Ma la potenzialità di String.Format potrebbe spingerci a portare nelle configurazioni formati di stringhe in modo da favorire la _concatenazione_/inclusione di alcuni parametri variabili e garantirci una più semplice dinamicità dei contesti. A questo punto ci dobbiamo ricordare - e dobbiamo ben documentare - il significato delle singole posizioni.

In questi casi, quando cioè il pattern di formattazione viene portata all'esterno e usata come parametro di configurazione, non potrebbe fare comodo avere dei placeholder verbosi invece che indici posizionali?

Ho pensato che la cosa potrebbe essere utile... placeholder verbosi aiuterebbero in certi casi ad avere un idea più chiara della situazione, ecco come ho implementato la mia MessageFormatter.

«maggio»
domlunmarmergiovensab
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234