Error del compilador CS0416

Actualización: noviembre 2007

Mensaje de error

'parámetro de tipo': un argumento de atributo no puede utilizar parámetros de tipo
'type parameter': an attribute argument cannot use type parameters

Se ha utilizado un parámetro de tipo como argumento de atributo, lo que no está permitido. Utilice un tipo no genérico.

El código siguiente genera el error CS0416:

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

class G<T>
{

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

}