C#中的“设置”类

我正在使用C#和sliverlight阅读Windows Phone 7的教程,我发现了这一行

public static class Settings { public static readonly Setting IsRightHanded = new Setting("IsRightHanded", true); public static readonly Setting Threshold = new Setting("Threshold", 1.5); } 

我在C#找不到Setting类我想知道它是否在特殊命名空间下或需要额外的添加引用

这是我使用的Setting类。 它支持通过INotifyPropertyChanged进行更改通知,这对绑定很有用(在WPF / SL / etc中)。 它还维护默认值的副本,以便在需要时可以重置它。

作为一般规则, T应该是不可变的。

 public class Setting : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; public event Action Changed; private readonly T _defaultValue; private T _value; public Setting(T defaultValue) { _defaultValue = defaultValue; _value = defaultValue; } public T Value { get { return _value; } set { if (Equals(_value, value)) return; _value = value; var evt = Changed; if (evt != null) evt(value); var evt2 = PropertyChanged; if (evt2 != null) evt2(this, new PropertyChangedEventArgs("Value")); } } public void ResetToDefault() { Value = _defaultValue; } } 

如果它是一个自定义类,并且在教程中没有描述,那你可以重新实现它吗? 在我看来,这个类会有这样的签名:

 public class Setting { public Setting(string name, T value) { Name = name; Value = value; } public string Name { get; set; } public T Value { get; set; } } 

当然,可能还有更多。 在本教程中,此类正在访问/绑定哪些属性?

如果您使用的是“101 Windows Phone 7 Apps”一书,则在第20章中实现并解释了Setting类