This documentation is archived and is not being maintained.

Compiler Error CS0616

'class': is not an attribute class

An attempt was made to use a non-attribute class in an attribute block. All the attribute types need to be inherited from System.Attribute.

The following sample generates CS0616:

// CS0616.cs
[CMyClass(i=5)]   // CS0616
public class CMyClass
{
   public static void Main()
   {
   }
};

The following sample shows how you might define an attribute:

// CreateAttrib.cs
using System;

[AttributeUsage(AttributeTargets.Class|AttributeTargets.Interface)]
public class MyAttr : Attribute
{
   public int Name = 0;
   public int Count = 0;

   public MyAttr (int iCount, int sName)
   {
      Count = iCount;
      Name = sName;
   }

   public static void Main()
   {
   }
}

[MyAttr(5, 50)]
class Class1
{
}

[MyAttr(6, 60)]
interface Interface1
{
}
Show: