Compiler Error CS0416

'type parameter': an attribute argument cannot use type parameters

A type parameter was used as an attribute argument, which is not allowed. Use a non-generic type.

The following sample generates CS0416:

// CS0416.cs
public class MyAttribute : System.Attribute
{
   public MyAttribute(System.Type t)
   {
   }
}

class G<T>
{

   [MyAttribute(typeof(G<T>))]  // CS0416
   public void F()
   {
   }

}