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