Yet another gotcha: readonly values can be changed by "devious" code via reflection.
var fi = this.GetType()
.BaseType
.GetField("_someField",
BindingFlags.Instance | BindingFlags.NonPublic);
fi.SetValue(this, 1);
[Can I change a private readonly inherited field in C# using reflection?][1] [1]: httphttps://stackoverflow.com/questions/1401458/can-i-change-a-private-readonly-inherited-field-in-c-using-reflection/1401499#1401499