Tuesday, August 6, 2013

Examples of invariance in c#

  class Test <T>
    {
        public T  y { get; set; }

    }
         

  Test<string> r = new Test<string>();

  Test<object> r2 = r;

this fails

likewise

  public void consumeList(List<object> l)
        {

        }


consumeList(new List<object>(){"fgdg","ghffh"}); 
is OK  while
t.consumeList(new List<string>(){"fgdg","ghffh"});  
fails

No comments:

Post a Comment