Sto lavorando su un'API in C #. Sto cercando di pensare al modo più semplice per esporre la mia API per i consumatori. In particolare, ho una classe nel mio modello di dati esposti che ha una proprietà di dizionario. Sto cercando di decidere se la proprietà del dizionario deve usare le stringhe come chiavi o un enum che definisco come chiavi.
Il mio interesse nell'usare stringhe come chiavi è che l'onere risiede nella documentazione per fornire ogni possibile valore di chiave stringa e gli utenti finiscono per lavorare con stringhe letterali che potrebbero causare errori di battitura o di duplicazione.
La mia preoccupazione per le enumerazioni è che se dovessimo mai cambiare l'elenco delle possibili chiavi del dizionario, questa potrebbe essere una modifica irrisolta per l'API.
Mi sto appoggiando all'enum, ma i miei colleghi pensano che una corda sarebbe la migliore. Qualcuno là fuori ha qualche pensiero o consiglio su questo?