定制应用设置

时间:2011-06-08 02:58:35

标签: c# static settings application-settings

我希望能够拥有一个可在整个应用程序中使用的Settings类,但我仍然希望能够测试设置对象是否已填充。大多数设置来自注册表。

目前我有这个,但我不知道在哪里填充,以便我可以模拟用于填充它的服务。

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

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

对此的任何想法都会很棒。

2 个答案:

答案 0 :(得分:0)

您需要做的是抽象您的底层设置存储,在这种情况下是Windows注册表,并让您的设置控制器调用您的抽象。

最好的方法是使用构造函数注入存储抽象。这样你可以嘲笑你的抽象(Windows注册),这将允许你测试你的设置人口。

答案 1 :(得分:0)

创建一个单例类,应用程序中的所有类都可以访问它

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;