I have the following inheritance structure:
interface A
{
void Foo();
}
interface B : A
{
}
And I realise that the only places where Foo() is actually implemented (i.e., not empty) is in the classes which are implementing B.
If I move Foo from A to B, will I have to recompile all those implementing classes, and, more importantly, what about all the assemblies which are using those implementations?
(I know I can just try this myself, and see, but I’d also like some ‘insight’ into what’s happening)
The interface definition will be changing in a non backward compatible way, so you will have to recompile other assemblies as well, and if some code is calling
FooonAobjects, you will have to rewrite that part of code as well.