Sto pensando a un modo per creare una "classe di impostazioni" flessibile in C #. La domanda è: come fornire un modo comodo per fornire valori predefiniti alle impostazioni. Voglio che il programmatore acceda alle impostazioni predefinite il più semplice possibile usando intellisense. Pertanto ho incapsulato i valori predefiniti in una sottoclasse della classe delle impostazioni effettiva (invece di definirli direttamente nella classe delle impostazioni).
public class ServerSettings
{
public ServerSettings(int port = ServerSettings.Default.Port,
string anotherSetting = ServerSettings.Default.AnotherSetting)
{
this.Port = port;
this.AnotherSetting = anotherSetting;
}
public int Port { get; set; }
public string AnotherSetting { get; set; }
public class Default
{
public const int Port = 7000;
public const string AnotherSetting = "abcd";
}
}
Il programmatore ora può accedere ai valori predefiniti come questo:
ServerSettings.Default.Port
E dopo aver digitato ServerSettings.Default apparirà un elenco con tutte le impostazioni predefinite disponibili. È come un " multitype enum ".
Cosa ne pensi di questa soluzione? Hai qualche idea alternativa? O qualche critica?