考虑这个例子:
namespace ValueObjects
{
public class User
{
public string UserCode { get; set; }
public string UserName { get; set; }
}
public class Company
{
public string CompanyCode { get; set; }
}
}
现在,我希望 User 类具有 CompanyCode 属性。第一个明显的解决方案是简单地将 CompanyCode 属性放在 User 类上
public class User
{
public string UserCode { get; set; }
public string UserName { get; set; }
public string CompanyCode { get; set; }
}
现在这里的问题是冗余,因为公司类已经有一个属性 CompanyCode,有什么方法可以让用户只使用公司的 CompanyCode 属性而不继承公司类(这里的问题是 C# 不允许类的多重继承)或使用 ICompany 接口(但接口在值对象中很痛苦)。我正在考虑只将 Company 类包含到 User 类中,但我将只使用它的属性 CompanyCode。
像这样的东西..
public class User
{
public string UserCode { get; set; }
public string UserName { get; set; }
private Company company;
public string CompanyCode { get { company.CompanyCode } set {company.CompanyCode }
}
但是,仅仅添加一个字符串属性 CompanyCode.. 需要你的建议。提前致谢..