如何在不同的类上使用相同的属性和方法?

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条件中(两个具有相同名称,不同类的对象).我想将对象创建为条件并使用条件.

我怎样才能做到这一点?

Cod*_*ter 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; }
}
Run Code Online (Sandbox Code Playgroud)

然后像这样使用它:

IVersionedClass myClass;
if(version == 1)
{
    myClass = new ClassVersion1();
}
else
{
    myClass = new ClassVersion2();
}
Run Code Online (Sandbox Code Playgroud)