11
パブリックフィールドと自動プロパティ
フィールドを外部に公開するのではなく、クラスフィールドのゲッターメソッドとセッターメソッド(C#のプロパティ)を作成してカプセル化を保護する必要があるとよく言われます。 しかし、フィールドが値を保持するためだけに存在し、取得または設定するための計算を必要としない場合がよくあります。これらについては、私たちはすべてこの数を行います: public class Book { private string _title; public string Title { get{ return _title; } set{ _title = value; } } } まあ、私は自白があります。私はそれをすべて書くことに耐えられなかったので(本当に、それを書く必要はなく、それを見る必要がありました)、私は不正に行き、パブリックフィールドを使用しました。 その後、C#3.0が追加され、自動プロパティが追加されたことがわかります。 public class Book { public string Title {get; set;} } どちらかと言うと整然としていますが、私は感謝していますが、実際には、パブリックフィールドを作成することと何が違うのでしょうか。 public class Book { public string Title; }