Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将实体类的属性继承到另一个实体类中_C# - Fatal编程技术网

C# 将实体类的属性继承到另一个实体类中

C# 将实体类的属性继承到另一个实体类中,c#,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

我的员工实体为

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中


有什么方法可以重写它或继承并为这些属性赋值吗?

您可以用自己的类EmployeeWrapper封装Employee类,并在EmployeeWrapper中使用反射设置Employee类属性的put逻辑,如中所述


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

Inherit from Employee<代码>公共类用户角色:员工。您将拥有所有属性,但这将是奇怪的-用户角色不是雇员。顺便说一句,我不明白为什么你不能使用
Employee
typeyes的属性,但我不能为员工的属性赋值。我没有使用Employee类型的属性,因为我还需要UserRole的属性。为什么你不能为员工的属性赋值?我看不出有什么理由,因为没有二传手。