Я обнаружил, что список конкретных объектов не может быть добавлен к списку интерфейсного объекта.
public static void AddJob(List<IJob> masterJobs, List<Job> jobs)
{
masterJobs.AddRange(jobs); //fail to compile
}
Вместо этого нужно использовать следующий код:
public static void AddJob(List<IJob> masterJobs, List<Job> jobs)
{
masterJobs.AddRange(jobs.Cast<IJob>());
}
Каково рациональное позади этого?