(PropertyInfo SetValueおよびnullに関連)
フィールドを指す、、、およびaがpublic class Thing { public int X; }ある場合、なぜ呼び出すことが合法ですか?ランタイムはフィールドをゼロに設定します。つまり、aをに設定できないと文句を言う代わりに。Thing oFieldInfo fiXfi.SetValue(o, null)Xdefault(int)ValueTypenull
この動作の背後にある設計上の選択を知っている人はいますか?少なくともC#からは、驚き最小の原則に違反していますか?