我有一个非常奇怪的问题,对我没有任何意义。我正在尝试将一个集合(col)分配给一个属性(PropertyEmployees),但它实际上并没有分配。 该物业最初表示" employee.PropertyEmployees =' employee.PropertyEmployees'抛出了System&ObjectDisposedException'"类型的异常,但即使在我尝试在其上分配新集合之后,它仍然保持这种状态。
col集合在尝试使用之前包含有效数据。
Account和Person属性具有相同的异常,但在为其分配新对象后它会消失。
public IList<Employee> getEmployees(int landlordId, int propertyId)
{
try
{
IList<Employee> employees = new List<Employee>();
IList<PropertyEmployee> propertyEmployees;
if (propertyId != 0)
{
propertyEmployees = propertyEmployeeService.getPropertyEmployeesByPropertyId(propertyId);
foreach (PropertyEmployee propertyEmployee in propertyEmployees)
{
employees.Add(employeeService.getEmployeeByEmployeeId(propertyEmployee.employeeId));
}
}
else
{
employees = employeeService.getEmployeesByLandlordId(landlordId);
}
foreach (Employee employee in employees)
{
Collection<PropertyEmployee> col = new Collection<PropertyEmployee>(propertyEmployeeService.getPropertyEmployeesByEmployeeId(employee.employeeId));
employee.PropertyEmployees = col;
employee.Person = personService.getPersonByPersonID(employee.personId);
employee.Account = accountService.getAccountByAccountId(employee.accountId.GetValueOrDefault());
}
return employees;
}
catch (ErrorHandler e)
{
throw e;
}
catch (Exception e)
{
throw new ErrorHandler(e.Message);
}
}
答案 0 :(得分:0)
问题在于employee
对象的状态(或属性设置器访问的其他对象),与col
集合或其元素的值无关。
System.ObjectDisposedException
。希望Employee
类包含IsDisposed
属性,您可以在调用任何employee
成员之前检查该属性,