クラスメソッド/プロパティ内のプライベートフィールドを変更するには、どのシナリオを使用する必要がありますか:
public class Example
{
private int intVar = 0;
private string stringVar = string.Empty;
public int IntVar
{
get { return this.intvar; }
set { this.intvar = value; }
}
public string StringVar
{
get { return this.stringVar ; }
set { this.stringVar = value; }
}
private void SomeMethod()
{
//change fields in this way:
this.intVar = 50;
this.stringVar = "changed";
//or that way(through properties):
this.IntVar = 50;
this.StringVar = "changed";
}
}
この例ではおそらく違いはありませんが、誰かがプロパティにコードを追加し、プロパティを介してフィールドを変更すると、他のものが変更されるとどうなるでしょうか?
どちらの方法が優れていると言えますか、それとも本当に違いはありませんか?
C# 3.0 から自動実装プロパティを記述できることは知っていますが、これは C# 2.0 です。