title: Why do I get the following error? Invalid variance modifier. Only interface and delegate type parameters can be specified as variant
body: <pre><code> using System;
   using System.Collections.Generic;
   using System.Linq;
   using System.Text;
  
  namespace Variance
  
  {
    class A { }
  
    class B : A { }
  
    class C&lt;out T&gt;  { }
  
  class Program
  {
      static void Main(string[] args)
      {
          var v = new C&lt;B&gt;();
  
          CA(v);
      }
  
      static void CA(C&lt;A&gt; v) { }
    }
  }
  </code></pre>