(en rapport avec PropertyInfo SetValue et nullités )
Si j'ai public class Thing { public int X; }
, a Thing o
et un FieldInfo fi
qui pointe vers le X
pourquoi est-il légal d'appeler fi.SetValue(o, null)
? Le runtime définit le champ X
à zéro, c'est-à-dire default(int)
au lieu de se plaindre qu'un ValueType
ne peut pas être réglée sur null
.
Quelqu'un connaît-il le choix de conception derrière ce comportement, qui, du moins en C#, viole mon principe de moindre étonnement ?