Public Class FooBar
{
private int _foo;
public int Foo {
get { return _foo; }
set { _foo = value; }
}
public void DoStuff()
{
_foo++; // Do this?
Foo++; // Or this?
}
}
クラス内のフィールドまたはプロパティ(存在する場合)にアクセスすることは、より受け入れられていますか?私はいつもフィールドにアクセスする習慣を持っていましたが、INotifyPropertyChangedがたくさんあるWPFを行っていたので、通知に変更を加えるためにPropertyにアクセスする必要がありました。だから、私はクラス全体でフィールドとプロパティの両方のアクセスを混在させていますが、コンパイラの観点からは、スタイルや読みやすさは問題ではありません。宣言クラス内のフィールドまたはプロパティへのアクセス
私が以前のすべてのフィールドにアクセスすることに不快感を感じたのは、単一のコードパスが大きな理由です。私がフィールドを使い始めてから、たくさんのプロパティアクセスを追加してから、後でプロパティセッターにいくつかの機能を追加すると、プロパティアクセスがそれに当たるが、すべてのフィールドアクセスはそうではない。 – kenwarner