, Откат. Спасибо

следующие виды:

public interface IMyClass { }
public class MyClass : IMyClass { }

Интересно, как я могу преобразоватьList<MyClass> кList<IMyClass>? Мне не совсем понятны темы ковариации / контравариантности, но я понимаю, что из-за этого просто не могу просто составить список.

Я мог придумать только это тривиальное решение; не хватает элегантности, тратить ресурсы:

...
public List<IMyClass> ConvertItems(List<MyClass> input)
{
   var result = new List<IMyClass>(input.Count);
   foreach (var item in input)
   {
       result.Add(item);
   }
   return result;
}
....

Как вы можете решить это более изящным / производительным способом?

(Пожалуйста, учтите, что мне нужно решение .NET 2.0, но для полноты картины я был бы рад увидеть более элегантные решения, использующие также более новые версии фреймворка.)

Ответы на вопрос(3)

Ваш ответ на вопрос