<分区>
这是一件相当微不足道的事情,但我很想听听人们对此的看法。
如果我有一个可以通过属性访问的字典,您更喜欢哪种格式的属性?
/// <summary>
/// This class's FirstProperty property
/// </summary>
[DefaultValue("myValue")]
public string FirstProperty {
get {
return Dictionary["myKey"];
}
set {
Dictionary["myKey"] = value;
}
这可能是典型的做法。它相当高效,易于理解等。唯一的缺点是使用更长或更复杂的 key 可能会拼错它或仅更改一个实例或其他内容,导致我这样做:
/// <summary>
/// This class's SecondProperty property
/// </summary>
[DefaultValue("myValue")]
private const string DICT_MYKEY = "myKey"
public string SecondProperty {
get {
return Dictionary[DICT_MYKEY];
}
set {
Dictionary[DICT_MYKEY] = value;
}
它稍微复杂一些,但似乎提供了额外的安全性,并且更接近于我认为的“代码完整”解决方案。不利的一面是,当属性上方已经有一个/// block 和一个 [DefaultValue()] block 时,它开始变得有点拥挤。
那么你更喜欢哪一个,为什么?有人有更好的想法吗?