更清晰的设置(或其他属性)代理类

时间:2014-12-22 19:01:41

标签: c# dynamic properties proxy reflection.emit

这里有减少代码(特别是重复字符串)的常见实现方法吗?

public class Settings {
    private static settings = Properties.Settings.Default;

    public string MRUList {
        get {
            return settings["MRUList"];
        }
        set {
            settings["MRUList"] = value;
        }
    }

    public string AnotherSetting {
        get {
            return settings["AnotherSetting"];
        }
        set {
            settings["AnotherSetting"] = value;
        }
    }

    ...
}

我不知道,也许是现有的NuGet包根据接口发出注射设置类? (记住:这是这个问题的一个方法示例。如果你认为我的想法是愚蠢的,请另外提出。总是要讨厌...)

public interface Settings {

    public string MRUList { get; set; }

    public string AnotherSetting { get; set; }

}

MappedSettings Settings = CrazyMapper.Generate<Settings>(Properties.Settings.Default);
我认为,AutoMapper在技术上可以做到这一点,但它会:

  1. 每次访问设置时复制所有设置
  2. 不包含最新的设置信息

0 个答案:

没有答案