私はそれがどのように機能するのか理解していないと考えなければなりません。
私の具体的な質問は次のとおりです。セッターもバッキングリスト変数もないのに、リストプロパティ要素の値を設定できるのはなぜですか?
説明させてください。次の CustomerTable クラスがあるとします。
public List<string> Name
{
get
{
var names = new List<string>();
foreach (CustomerRow row in Rows)
{
name.Add(row.Name);
}
return names;
}
}
アイデアは、行のリストが既にあるため、クラスでデータを複製することなく、読み取り専用プロパティに列の内容を表示させることです。
とにかく、次のようなコードが Visual Studio で受け入れられ、エラーが発生することはありません (さらに、エラーなしでコンパイルすることもできます)。
Name[0] = "John";
なぜこれが合法なのか理解できません。私のプロパティにはセット { } がなく、変更するバッキング リストさえありません。このコードは何をするためのものですか?
メソッドのように機能するべきではありませんか?誰かが「取得」するたびに生成するリスト以外に、保存されたリストは本当にありますか?
(ご要望に応じて詳細をお伝えできます。また、その他のご意見にも感謝いたします)