コード内で名前を3回繰り返すと、ConfigurationPropertyAttribute
本当に気になります。
スペルミスを見逃したり、プロパティをコピーして貼り付けたりして、名前の1つのインスタンスを更新するのを忘れるのは簡単です。
定数を宣言すると、これらの問題の1つだけが解決されます。もっと良い方法はありますか?
リフレクションを試しましたが、属性を列挙するのはもっと面倒で醜いようでした。
[ConfigurationProperty("port", DefaultValue = (int)0, IsRequired = false)]
[IntegerValidator(MinValue = 0, MaxValue = 8080, ExcludeRange = false)]
public int Port
{
get
{
return (int)this["port"];
}
set
{
this["port"] = value;
}
}
DRYは単なる原則であり、現実の世界では、原則が実用主義に取って代わらなければならないことがよくあります。しかし、誰かがよりクリーンな方法を持っていると確信していますか?