自動プロパティは get および set アクセサー メソッドを定義する必要があることを知っています。また、これらのアクセサーのいずれかをアクセス修飾子によって非表示にできることも知っています。
コンパイラが満足する技術的な理由はありますか?
public object Property { get; set; }
だがしかし
public object Property { get; }
このコードの私の (おそらく間違った) 理解は、コンパイラが次のように呼び出し元のコードから隠されているバッキング フィールドを生成するということです。
private object hiddenField; //hidden by compiler.
public object Property
{
get { return hiddenField; }
set { hiddenField = value;}
}
コンパイラがそれを生成できる場合、プロパティ宣言のセッターの存在 (または欠如) に基づいて set アクセサー関数を省略できない理由はありますか?
これは技術的な制限ではなく、機能範囲の問題である可能性があることを理解しています。また、C# 言語仕様をまだ参照していないことも率直に認めます。
[更新2 ]
許してください...私はばかです:P、わかりました、先輩の瞬間を容認してくれてありがとう/