这是因为
List<T>is
in-variant而不是
co-variant,所以您应该更改为
IEnumerable<T>support
co-variant,它应该起作用:
IEnumerable<baseClass> bcl = new List<DerivedClass>();public void doSomething(IEnumerable<baseClass> bc){ // do something with bc}有关泛型协变量的信息

这是因为
List<T>is
in-variant而不是
co-variant,所以您应该更改为
IEnumerable<T>support
co-variant,它应该起作用:
IEnumerable<baseClass> bcl = new List<DerivedClass>();public void doSomething(IEnumerable<baseClass> bc){ // do something with bc}有关泛型协变量的信息