I have seen this, but I am wondering if it would be possible to force the override of a member not marked as virtual or abstract with a derived type (hence that should not break the base object functionalities).
I am referring in particular to overriding:
IDictionary<TKey, TValue> Dictionary { get; }
in
KeyedCollection<TKey, TValue>
with another member type that implements IDictionary, to use another internal storage collection.
Is it possible at all to bypass the limitation?
Note that I would not like to use extensions for this (in my case it would not be helpful anyway).