使用组合来创建属性

时间:2014-06-06 10:40:21

标签: c# asp.net-mvc inheritance composition

我目前在所有POCO课程中都有一个datecreated属性。

我想知道是否有另一种方法可以做到这一点。

我已经查看了继承但是我只能从一个基类继承,因此我不想使用继承,因为我可能需要将其用于其他目的。

我查看过合成但不会在每个类上创建属性。

只是寻求有关实现这一目标的策略的建议。

1 个答案:

答案 0 :(得分:0)

为什么不创建一个基类。如果你所有的POCO实体都需要它,那就是你想要的。

一个类只能从一个基类继承,但你仍然可以创建一个继承链是正确的:

public class EntityBase
{
    public DateTime DateCreated {get; set; }
}

示例:

public class Person : EntityBase
{
    public string Name {get; set;}
    // other properties
}

public class Employee : Person
{
     public decimal Salary {get; set; }
}

现在Person以及Employee都有DateCreated属性,但Employee也会继承Name的{​​{1}}