6

プライベート メソッドとパブリック メソッドからメンバー/フィールドを呼び出すためのベスト プラクティスは何ですか? プライベート メソッドは常にプライベート フィールドを呼び出す必要がありますか、それともパブリック メンバーを呼び出す必要がありますか?

private string _name;
public string Name
{ 
   get {return _name; }
   set { _name = value; }
}

public void DoSomething()
{
   _doSomething();
}


private void _doSomething()
{
   _name.ToLower();
}
4

2 に答える 2

11

実際のバッキング フィールドにアクセスするコード内の場所の数を減らすために、すべてのコードがパブリック インターフェイスを通過することを好みます。理由は2つ

  • デバッグを簡素化します。値が変更されたり、予期しない値が返されたりする問題がある場合は、プロパティの getter または setter 内にブレークポイントを設定して、値へのアクセスを簡単にトラップできます。
  • 変更の影響を軽減します。フィールドに変更を加えることができ、コード内のほとんどの場所に直接影響しません。

または、一言で言えば、カプセル化です。

于 2010-05-26T10:13:46.487 に答える
1

場合によっては、パブリックプロパティに必要なロジックが含まれていることがあります。その場合、プライベートメンバー変数を使用し、その機能を公開しないことが確実な場合は、ローカル変数の代わりにプロパティを常に使用します。外の世界では、その特定のメソッドをプライベートにします。

于 2010-05-26T10:15:00.867 に答える