CS0641 de erro do compilador

Mensagem de erro

'atributo': o atributo só é válido em classes derivadas de sistema.Attribute

Foi usado um atributo que só pode ser usado em uma classe que deriva de sistema.Attribute.

O exemplo a seguir gera CS0641:

// CS0641.cs
using System;

[AttributeUsage(AttributeTargets.All)]
public class NonAttrClass   // CS0641
// try the following line instead
// public class NonAttrClass : Attribute
{
}

class MyClass
{
   public static void Main()
   {
   }
}