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()  
   {  
   }  
  
}