Partager via


Erreur du compilateur CS0616

Mise à jour : novembre 2007

Message d'erreur

'classe' n'est pas une classe d'attributs
'class' is not an attribute class

Vous avez essayé d'utiliser une classe qui n'est pas une classe d'attributs dans un bloc d'attributs. Tous les types d'attribut doivent être hérités de System.Attribute.

Exemple

L'exemple suivant génère l'erreur CS0616.

// CS0616.cs
// compile with: /target:library
[CMyClass(i = 5)]   // CS0616
public class CMyClass {}

L'exemple suivant montre comment définir un attribut :

// CreateAttrib.cs
// compile with: /target:library
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;
   }
}

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

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