Sto lavorando a un nuovo progetto e ho notato un codice che non sono sicuro sia vero. I nomi e i valori che sto usando per dimostrare la domanda sono falsi.Una classe di costanti di stringa dovrebbe essere statica?
public class MyConsts //Should it be static?
{
public const string MyConst1 = "a";
public const string MyConst2 = "b";
public const string MyConst3 = "c";
public const string MyConst4 = "d";
....
}
Per la mia logica di questa classe (che contiene solo valori const) deve essere statico, quindi nessuna possibilità di inizializzare esso, che non ha alcun senso, Ho ragione?
EDIT: Stavo scrivendo il codice cieco, quindi ho confuso l'ordine di stringa e const, e poiché non era l'obiettivo della mia domanda, l'ho risolto.
La classe non dovrebbe esistere affatto. Vuoi invece usare le risorse. –
@JoelCoehoorn Ho visto molti casi in cui questo approccio esatto è un buon compromesso e le risorse nel migliore dei casi non forniscono alcun vantaggio. Cioè 'HtmlTags.Div =" div "' è perfettamente adatto come raccolta di costanti, ma se inserito in risorse richiederà un'attenzione particolare per evitare la localizzazione. –
@JoelCoehoorn - No, dovrebbe avere un 'IAbstractFactory' che è ereditato da' ConstantsFactory' che legge le costanti dalle risorse e quindi le inietta usando il contenitore IOC. – Davor