注:これは、C#を使い始めたときに投稿されました。2014年の知識があれば、自動プロパティはC#言語でこれまでに起こった中で最高のものの1つであると本当に言えます。
プライベートフィールドとパブリックフィールドを使用して、C#でプロパティを作成するのに慣れています。
private string title;
public string Title
{
get { return title; }
set { title = value; }
}
今、.NET 3.0では、自動プロパティを取得しました。
public string Title { get; set; }
私はこれが哲学的/主観的な質問であることを知っていますが、各フィールドに5行のコードを保存する以外に、これらの自動プロパティを使用する理由はありますか?私の個人的な不満は、これらのプロパティが私から何かを隠していることであり、私は黒魔術の大ファンではありません。
実際、非表示のプライベートフィールドはデバッガにも表示されません。これは、get / set関数が何も実行しないという事実を考えると問題ありません。しかし、実際にゲッター/セッターロジックを実装する場合は、とにかくプライベート/パブリックペアを使用する必要があります。
後でゲッター/セッターのロジックを変更する機能を失うことなく、多くのコード(1行と6行)を保存できるというメリットがありますが、パブリックフィールド "Public string Title"を宣言せずに、すでにそれを行うことができます。 {getの必要性; セットする; }ブロックし、さらに多くのコードを保存します。
それで、ここで何が欠けていますか?なぜ誰もが実際に自動プロパティを使用したいのですか?