Использовать ConvertAll <>
http://msdn.microsoft.com/en-us/library/kt456a2y.aspx
Например: в этом случае TEntity должен быть IBusinessUnit, но является классом, поэтому у меня такая же проблема с преобразованием List<Operator> to List<IOperator>
(при условии, что Operator реализует IOperator).
В вашем случае, как вы сказали, Operator не препятствует IOperator, но это не имеет значения - это все равно будет работать -
public static IList<IBusinessUnit> toIBusinessUnitIList(List<TEntity> items)
{
return items.ConvertAll<IBusinessUnit>(new Converter<TEntity, IBusinessUnit>(TEntityToIBuisinessUnit));
}
/// <summary>
/// Callback for List<>.ConvertAll() used above.
/// </summary>
/// <param name="md"></param>
/// <returns></returns>
private static IBusinessUnit TEntityToIBuisinessUnit(TEntity te)
{
return te; // In your case, do whatever magic you need to do to convert an Operator to an IOperator here.
}