I’m wondering what will actually change a class, in the sense that serialized objects of this class will no longer be recognized.
If the class has reference to shared methods of another class. Will changing such shared methods also change the classes that reference them?
And what about changing extension methods to custom classes, will that impact the class “signature”, if that’s an appropriate term?
A good reference for this is Version Tolerant Serialization on MSDN. In short, changes to Shared (static in C#) methods do not affect the deserialization of an object:
As a minor aside: changes to certain special methods related to serialization could affect deserialization. But you’d be making a conscious decision to change those.