0

我有员工实体

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 类的属性,我无法为其赋值。而且我不能像在某些 dll 中那样更改 Employee 类。

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

4

1 回答 1

1

您可以用您自己的 EmployeeWrapper 类封装 Employee 类,并在 EmployeeWrapper 中放置使用反射来设置 Employee 类属性的逻辑,如没有 Getter/Setter 的反射中所述?.

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

于 2013-03-12T09:34:04.300 回答