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

时间:2014-12-17 11:12:13

标签: c# class object conditional-statements construction

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

我该怎么做?

1 个答案:

答案 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();
}