CSh*_*der -1 c# construction class object conditional-statements
我有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();
Run Code Online (Sandbox Code Playgroud)
但是我必须将函数和变量调用到if条件中(两个具有相同名称,不同类的对象).我想将对象创建为条件并使用条件.
我怎样才能做到这一点?
你可以使用一个界面:
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; }
}
Run Code Online (Sandbox Code Playgroud)
然后像这样使用它:
IVersionedClass myClass;
if(version == 1)
{
myClass = new ClassVersion1();
}
else
{
myClass = new ClassVersion2();
}
Run Code Online (Sandbox Code Playgroud)