需要在两个不同的类中添加相同的属性

时间:2018-08-02 11:01:59

标签: c# c#-4.0 c#-3.0 c#-2.0

我有两个类,例如A类和B类。A类具有一些属性,方法和B类仅具有这些属性。但是,两个类具有相同的属性集。

我的问题是,如果我在A类中添加任何新属性,我也需要在B类中添加它。如果我没有添加方法,则需要显示错误。如何通过C#实现呢?

3 个答案:

答案 0 :(得分:6)

您可以通过使用一个接口并在A类和B类中实现它来实现此目的。在该接口中,定义A和B类所需的属性:

public interface ICommonProperty
{
   string MyProperty{ get; set; }
}

答案 1 :(得分:1)

或者您可以使用keyword abstract为A和B创建一个共同的类。

abstract class BaseClass   // Abstract class
{
    public int X {get;set;} // property in common for 2 class
}

class A : BaseClass
{
}

class B : BaseClass
{
    public int Y {get;set;} // other property of B
}

答案 2 :(得分:1)

您可以使用抽象类。 abstract关键字使您可以创建不完整的类和类成员,并且必须在派生类中实现。

这是一个与您的问题有关的简单示例,但是您可以在这里了解和了解Abstract类:Abstract Class

using System;

public class Program
{
    public static void Main()
    {
        A objA = new A();
        objA.printA();
        B objB = new B();
        objB.printB();

    }
}

abstract class Parent{

    public int a = 5;

}

class A : Parent
{
    public void printA()
    {
        Console.WriteLine("In class A, value is "+a);
    }
}

class B : Parent
{
    public void printB()
    {
        Console.WriteLine("In class B, value is "+a);
    }
}

以上程序的输出为:

In class A, vlaue is 5
In class B, vlaue is 5

希望这对您有所帮助。