将Entity类的属性继承到另一个

时间:2013-03-12 09:16:39

标签: c#

我有员工实体

public class Employee
{
    public Employee();

    public int BossId { get; }
    public int BossUserId { get; }
    public string CostCentre { get; }
    public int CostCentreId { get; }
    public string Department { get; }
    public int DepartmentId { get; }
    public string Designation { get; }
    public int DesignationId { get; }
    public string EmailAddress { get; }
    public int EmployeeId { get; }
    public string FirstName { get; }
    public string FullName { get; }
    public string LastName { get; }
    public string LoginId { get; }
    public int UserId { get; }

    public override string ToString();
}

我想在另一个实体中使用所有这些属性并为它们赋值。

我的另一个实体是

public class UserRoles
{
    public UserRoles()
    {
    }

    public int UserRoleId { get; set; }
    public long EmpUserId { get; set; }
    public int RoleId { get; set; }
    public DateTime AddedOn { get; set; }
    public long AddedBy { get; set; }
    public long ModifiedBy { get; set; }
    public DateTime ModifiedOnd { get; set; }
  }

如果我创建Employee类的属性,我无法为其赋值。而且我无法更改Employee类,因为它在某些dll中。

有什么方法可以覆盖它,继承并为这些属性赋值?

1 个答案:

答案 0 :(得分:1)

您可以使用自己的类EmployeeWrapper封装Employee类,并在EmployeeWrapper中使用反射设置逻辑,以设置Employee类的属性,如Reflection without a Getter/Setter?中所述。

然后您使用EmployeeWrapper并通过其构造函数传递参数,或者仅设置其属性,并在后面使用反射来设置实际Employee实例的属性。