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 {}