どうしてこれなの:
public string Foo {get;set;}
これよりも優れていると考えられます:
public string Foo;
私は私の人生のためにそれを解決することはできません。誰かが光を当てることができますか?
ありがとう
どうしてこれなの:
public string Foo {get;set;}
これよりも優れていると考えられます:
public string Foo;
私は私の人生のためにそれを解決することはできません。誰かが光を当てることができますか?
ありがとう
(クライアントコードの観点から)透過的にsetter / getter wherasの実装を変更できるため、基になるプロパティを直接公開する場合(バイナリ互換ではないため)、同じことはできません。
ただし、自動プロパティに関連する特定のコードの臭いがあります。これにより、クラスの状態の一部を、考え直すことなく簡単に公開できます。これはJavaにも当てはまり、多くのプロジェクトで、get/setXxx
内部状態を公開するペアがいたるところにあり(多くの場合、「万が一の場合」)、プロパティが本質的にパブリックになります。
フィールドの目的はオブジェクト状態の保存ですが、プロパティの目的は単にアクセスです。違いは実際よりも概念的かもしれませんが、自動プロパティは両方を宣言するための便利な構文を提供します。