Well the class processes a file which is processed differently for each version.
I was thinking of something like.
csharp Code:
class ClassVersion
{
TheInterface TheClass;
string version;
public version(string ver,TheInterface theclass)
{
TheClass = theclass;
version = ver;
}
}
ClassVersion[] Versions = {
new ClassVersion("1.0",ClassA),
new ClassVersion("2.0",ClassB),
};
void Process(string ver)
{
for(int i = 0;i < Versions.Length; i++)
{
if (Versions[i].Version = ver)
{
Versions[i].TheClass.AFunc();
break;
}
}
}