我有3个类,如ClassVersion1,ClassVersion2和ClassVariables。 ClassVariables适用于Form中其他类的到达变量。
我认为是这些;
if(version == 1)
{
ClassVersion1 clss = new ClassVersion1();
}
else
{
ClassVersion2 clss = new ClassVersion2();
}
clss.vars.variable1 = 3;
clss.vars.variable2=5;
clss.DoSomething();
但是我必须将函数和variabless调用到if条件中(两个具有相同名称,不同类的对象)。我想将对象创建为条件并使用条件。
我该怎么做?
答案 0 :(得分:7)
您可以使用界面:
public interface IVersionedClass
{
int Variable1 { get; set; }
string Variable2 { get; set; }
}
public class ClassVersion1 : IVersionedClass
{
public int Variable1 { get; set; }
public string Variable2 { get; set; }
}
public class ClassVersion2 : IVersionedClass
{
public int Variable1 { get; set; }
public string Variable2 { get; set; }
}
然后像这样使用它:
IVersionedClass myClass;
if(version == 1)
{
myClass = new ClassVersion1();
}
else
{
myClass = new ClassVersion2();
}