I would inheritance for a particular object to be dynamic and set via an extra setting of some type like the app.config file.
Here is an example:
//PROGRAM A
public class MySuperClass : OldIneritanceObjectVersion
{
........Stuff Goes Here
}
//PROGRAM B
public class MySuperClass : OldIneritanceObjectVersion
{
........Stuff Goes Here
}
//PROGRAM B .....a Few Years Later.....
public class MySuperClass : NewIneritanceObjectVersion
{
........Stuff Goes Here
}
As you can guess, I want my old stuff to keep using the OldIneritanceObjectVersion while I want new stuff I create as well as updating old stuff to use the more updated NewIneritanceObjectVersion. Is there some way to do this dynamically?