我在下面的 C# 代码中犯了什么错误?
What is the mistake I am making in the below C# code?
我有这样的界面
interface IEmpDeptRepository : IEmployeeRepository,IDepartmentRepository
{
IEnumerable<EmpDept> GetAll();
}
interface IEmployeeRepository
{
IEnumerable<Employee> GetAll();
}
interface IDepartmentRepository
{
IEnumerable<Department> GetAll();
}
ClassEmpDept是
class EmpDept
{
public List<Employee> Employees { get; set; }
public List<Department> Departments { get; set; }
}
现在 class EmpDeptRepository 如下
public class EmpDeptRepository:IEmpDeptRepository
{
private List<EmpDept> empDepts = new List<EmpDept>();
public EmpDeptRepository()
{
Add(new EmpDept { Employees = IEmployeeRepository.GetAll(), Departments = IDepartmentRepository.GetAll() });
}
public EmpDept Add(EmpDept empDept)
{
if (empDept == null)
{
throw new ArgumentNullException("Employee Department");
}
empDepts.Add(empDept);
return empDept;
}
public IEnumerable<EmpDept> GetAll()
{
return empDepts;
}
IEnumerable<Employee> IEmployeeRepository.GetAll()
{
IEmployeeRepository employeeRepository = new EmployeeRepository();
return employeeRepository.GetAll();
}
IEnumerable<Department> IDepartmentRepository.GetAll()
{
IDepartmentRepository deptRepository = new DepartmentRepository();
return deptRepository.GetAll();
}
}
我收到以下错误
Error 1 Inconsistent accessibility: parameter type 'Models.EmpDept' is less accessible than method 'Models.EmpDeptRepository.Add(Models.EmpDept)'
Error 2 Inconsistent accessibility: return type 'Models.EmpDept' is less accessible than method 'Models.EmpDeptRepository.Add(Models.EmpDept)'
Error 3 Inconsistent accessibility: return type 'System.Collections.Generic.IEnumerable<Models.EmpDept>' is less accessible than method 'Models.EmpDeptRepository.GetAll()'
我犯了什么错误?
让你所有的类public:
public class EmpDept
制作 class EmpDept public,因为当你想用 public 方法访问它时,它也必须是 public。
我有这样的界面
interface IEmpDeptRepository : IEmployeeRepository,IDepartmentRepository
{
IEnumerable<EmpDept> GetAll();
}
interface IEmployeeRepository
{
IEnumerable<Employee> GetAll();
}
interface IDepartmentRepository
{
IEnumerable<Department> GetAll();
}
ClassEmpDept是
class EmpDept
{
public List<Employee> Employees { get; set; }
public List<Department> Departments { get; set; }
}
现在 class EmpDeptRepository 如下
public class EmpDeptRepository:IEmpDeptRepository
{
private List<EmpDept> empDepts = new List<EmpDept>();
public EmpDeptRepository()
{
Add(new EmpDept { Employees = IEmployeeRepository.GetAll(), Departments = IDepartmentRepository.GetAll() });
}
public EmpDept Add(EmpDept empDept)
{
if (empDept == null)
{
throw new ArgumentNullException("Employee Department");
}
empDepts.Add(empDept);
return empDept;
}
public IEnumerable<EmpDept> GetAll()
{
return empDepts;
}
IEnumerable<Employee> IEmployeeRepository.GetAll()
{
IEmployeeRepository employeeRepository = new EmployeeRepository();
return employeeRepository.GetAll();
}
IEnumerable<Department> IDepartmentRepository.GetAll()
{
IDepartmentRepository deptRepository = new DepartmentRepository();
return deptRepository.GetAll();
}
}
我收到以下错误
Error 1 Inconsistent accessibility: parameter type 'Models.EmpDept' is less accessible than method 'Models.EmpDeptRepository.Add(Models.EmpDept)'
Error 2 Inconsistent accessibility: return type 'Models.EmpDept' is less accessible than method 'Models.EmpDeptRepository.Add(Models.EmpDept)'
Error 3 Inconsistent accessibility: return type 'System.Collections.Generic.IEnumerable<Models.EmpDept>' is less accessible than method 'Models.EmpDeptRepository.GetAll()'
我犯了什么错误?
让你所有的类public:
public class EmpDept
制作 class EmpDept public,因为当你想用 public 方法访问它时,它也必须是 public。