I remember .Net had a feature (don't remember whether it was a configuration option or assemby attribute) which would replace one class with another.
For example I have AmbiguousClass in some referenced assembly which uses locale-unaware strings. What I want to do is inherit AmbiguousClass with LocalizedAmbiguousClass and point to .Net that whenever AmbiguousClass is created or used a LocalizedAmbiguousClass should be used instead.
I remember something like that was mentioned in preparation for Microsoft 70-536 certificate