【发布时间】:2017-01-05 11:35:57
【问题描述】:
我正在尝试创建一个抽象类(员工)的实例
public abstract class Employee
{
public Employee() { }
public static SchoolEmployeesContext ctx = new SchoolEmployeesContext();
public int EmployeeId { get; set; }
public string EmployeeName { get; set; }
public string EmployeeSurname { get; set; }
public string Address { get; set; }
public int Grade { get; set; }
public double Salary { get; set; }
public DateTime DateOfCommencement { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public Department DepartmentOfEmployee { get; set; }
}
现在我正在尝试从上下文中获取员工,以实现多种功能,例如编辑和删除员工。在方法中声明 Employee 为 null 允许删除 "Unassigned" 错误。但是在运行这显然给我一个“空引用异常”
在下面查找员工的方法:
public Employee Search(int EmpId)
{
var Emp = from emp in ctx.Employees
where emp.EmployeeId == EmpId
select emp;
Employee Found = null;
foreach (Employee e in Emp)
{
Found.EmployeeName = e.EmployeeName;
Found.EmployeeSurname = e.EmployeeSurname;
Found.Address = e.Address;
Found.Grade = e.Grade;
Found.Salary = e.Salary;
Found.DateOfCommencement = e.DateOfCommencement;
Found.Username = e.Username;
Found.Password = e.Password;
Found.DepartmentOfEmployee = e.DepartmentOfEmployee;
}
return Found;
}
【问题讨论】:
-
为了更全面地回答这个问题,你能解释一下为什么你需要Employee类是抽象的吗?
-
您的代码没有意义。您正在遍历结果并将它们的属性值分配给一个不存在的值。在每次循环迭代中(如果可以的话),您将再次覆盖这些值。
标签: c# oop abstract-class nullreferenceexception