以下の例のように、レガシーな .Net 1.1 スタイルのコードが多数使用されていますが、自動プロパティを使用して縮小したいと考えています。これにより、多くのクラスが 30 ~ 40% 縮小されます。これは良いことだと思います。
public int MyIntThingy
{
get
{
return _myIntThingy;
}
set
{
_myIntThingy = value;
}
} private int _myIntThingy = -1;
これは次のようになります。
public int MyIntThingy
{
get;
set;
}
唯一の問題は、どこに設定すればよいかということMyIntThingy = -1;
です。
クラスを最初から書いていれば、より良いアイデアが得られたでしょうが、そうではありませんでした。明白な答えは次のとおりです。コンストラクターに入れます。問題は、このクラスには多くのコンストラクターがあることです。デバッガーでの初期化を-1
見ると、コンストラクターが呼び出される前に発生することがわかります (私は信じています)。ここで説明されているように、静的コンストラクターを使用する必要があるかのよう
です
。Java の静的イニシャライザが思い浮かびますが、やはり、私の変数は静的ではありません。http://www.glenmccl.com/tip_003.htm
このクラスに機能的な変更ではなくスタイル上の変更を加えたいと考えています。くだらないものですが、数年間テストされ、機能しています。機能を壊すのは悪いことです。だから...私は、より短く、より甘く、よりキュートでありながら同等のコードを探しています。ご不明な点がございましたら、お知らせください。