C#のプロパティコンストラクトはプライベートアクセス修飾子でも使用できることを認識しました。
private string Password { get; set; }
これは技術的に興味深いものですが、プライベートフィールドでは式典が少なくなるため、いつ使用するかは想像できません。
private string _password;
私が今まで内部でできるようにする必要があるだろうというとき、私は想像することはできません取得ではなく、設定やセットではなく、取得プライベートフィールド:
private string Password { get; }
または
private string Password { set; }
しかし、おそらく、ネストされたクラスまたは継承されたクラスの使用例があるか、またはプロパティの値を返すだけでなく、get / setにロジックが含まれている可能性があります。例えばGetEncodedPassword()
。
誰かが何らかの理由でC#でプライベートプロパティを使用していますか、それとも、技術的には可能ですが実際にはほとんど使用されていない実際のコード構成の1つにすぎませんか?
補遺
それらを読んで、私は私有財産のこれらの使用法を選別しました:
- プライベートフィールドを遅延読み込みする必要がある場合
- プライベートフィールドが追加のロジックを必要とする場合、または計算された値である場合
- プライベートフィールドはデバッグが難しいため
- 「自分に契約を提示する」ため
- シリアル化の一部として公開されたプロパティを内部的に変換/簡略化する
- クラス内で使用されるグローバル変数をラップする