Пользовательские настройки приложения - PullRequest
0 голосов
/ 08 июня 2011

Я хочу иметь класс «Настройки», доступный во всем приложении, однако я все еще хочу иметь возможность проверить, что объект настроек заполняется.Большинство настроек происходят из реестра.

На данный момент у меня есть это, но я не уверен, где его заполнить, так что я могу смоделировать сервис, используемый для его заполнения.

public class Program {
    public static Settings SystemSettings = new SystemSettings();

    public void Main(string[] args) {
         SystemSettings = new RegistryService().GetRegSettings();
    }
}

Любые мысли по этому поводу были бы великолепны.

Ответы [ 2 ]

0 голосов
/ 08 июня 2011

Создайте одноэлементный класс, все классы в вашем приложении могут получить к нему доступ

public class Settings
{
    private static Settings systemSettings;
    public static Settings SystemSettings 
    {
        get
        {
            if (systemSettings == null)
                systemSettings = new Settings();
            return systemSettings;
        }
    }
    public int SettingValue1{ get; set; }
    private Settings()
    {
        SettingValue1 = 1;//from registery or somewhere
    }


}

и легко использовать этот класс

int k = Settings.SystemSettings.SettingValue1;
0 голосов
/ 08 июня 2011

Что вам нужно сделать, это абстрагировать ваше основное хранилище настроек, в этом случае реестр Windows и заставить ваш контроллер настроек вызвать вашу абстракцию.

Лучший способ - внедрить абстракцию хранилища с помощью конструктора. таким образом, вы могли бы высмеивать свою абстракцию (реестр Windows), которая позволила бы вам проверить ваши настройки параметров.

...