注: これは、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 行のコードを保存する以外に、これらの自動プロパティを使用する理由はありますか? 私の個人的な不満は、これらのプロパティが私から隠していることであり、私は黒魔術の大ファンではありません.
実際、非表示のプライベート フィールドはデバッガーにも表示されません。しかし、実際に getter/setter ロジックを実装したい場合は、プライベート/パブリック ペアを使用する必要があります。
後で getter/setter ロジックを変更する機能を失うことなく、多くのコード (1 行対 6 行) を節約できるという利点がありますが、パブリック フィールド "Public string Title" を宣言せずに宣言するだけで、既にそれを行うことができます。 { get; の必要性 設定; } ブロックすることで、より多くのコードを節約できます。
それで、私はここで何が欠けていますか?なぜ自動プロパティを実際に使用したいのでしょうか?