This documentation is archived and is not being maintained.

Compiler Error CS0616 

Error Message

'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
// compile with: /target:library
[CMyClass(i = 5)]   // CS0616
public class CMyClass {}

The following sample shows how you might define an attribute:

// CreateAttrib.cs
// compile with: /target:library
using System;

public class MyAttr : Attribute
   public int Name = 0;
   public int Count = 0;

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

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

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