我正在尝试对 foreach 循环使用通用方法,该方法将传递不同的参数作为参数。
在下面的示例中,我想传递不同的参数(EmployeeDisplayOrder 或 EmployeeEnrollOrder)
public void SaveEmployeeDisplayOrder(ICollection<Employee> employees)
{
//some code
foreach( var emp in employees)
{
UpdateSpecificEmployeeOrder(employee.id, e => e.EmployeeDisplayOrder);
}
}
public void SaveEmployeeEnrollOrder(ICollection<Employee> employees)
{
//some code
foreach( var emp in employees)
{
UpdateSpecificEmployeeOrder(employee.id, e => e.EmployeeEnrollOrder);
}
}
我想要这样的东西
public void UpdateEmployeeOrders(ICollection<Employee> employee)
{
foreach( var emp in employees)
{
UpdateSpecificEmployeeOrder(employee.id, //generic property);
}
}
并从 SaveEmployeeDisplayOrder 和 SaveEmployeeEnrollOrder 调用此 UpdateEmployeeOrders 泛型方法。
UpdateSpecificEmployeeOrder 的方法签名
UpdateSpecificEmployeeOrder( int employeeid, params Expression<Func<Employee, object>>[] property)
这可能吗?