c# - Colletion with derived class parameter -



c# - Colletion with derived class parameter -

i have classes , method

public class base{ // members;} public class derived : base{// members} mymethod(ienumerable<base> in1);

try phone call mymethod :

mymethod(ienumerable<derived > in2);

and compilation error? how should solve that

what you're expecting called covariance. means actual generic type more specific required one. can see covariance not work generic classes: list<derived> should not assignable list<base>, because happen if add together base intances list, list of derived instances? ienumerable covariant , ilist invariant.

this concept has been applied collection classes in .net 4.0. when using version of .net < 4, classes invariant.

c# inheritance ienumerable

Comments

Popular posts from this blog

Delphi change the assembly code of a running process -

json - Hibernate and Jackson (java.lang.IllegalStateException: Cannot call sendError() after the response has been committed) -

C++ 11 "class" keyword -