自動実装されたプロパティを使用する単純なクラスがあります。
Public Class foo
{
public foo() { }
public string BarName {get; set;}
}
クラス全体で変数 BarName を使用していることは明らかで、プロパティ値を設定するときにロジックを追加する必要があります (すべて大文字にする必要があります)。これは、_BarName などの BarName のプライベート変数を作成し、クラス全体で使用されている現在の BarName 変数を _BarName に変更する必要があるということですか?
Public Class foo
{
public foo() {}
private string _BarName = "";
public string BarName
{
get {return _BarName;}
set {_BarName = Value.ToString().ToUpper();}
}
}
自動実装されたプロパティを使用することの意味と、何かを変更する必要がある場合に何が必要になるかを理解しようとしています。上記のように、プロパティは基本的に同じままであるため、リファクタリングは重大な変更ではないと想定しています。クラスをそのまま維持し、必要なロジックを追加するには、クラス内で少し作業が必要でした。
より意味のある別の例として、setter または getter を使用するときにメソッドを呼び出す必要があるというものがあります。値を変更するだけではありません。
これは、プロパティをセットアップするためのコードの行数と行数の公正なトレードオフのようです。