Ошибка компилятора CS0616
Обновлен: Ноябрь 2007
Сообщение об ошибке
"class" не является классом атрибута
'class' is not an attribute class
Предпринята попытка использовать класс, не являющийся атрибутом, в блоке атрибута. Все типы атрибута должны быть унаследованы от System.Attribute.
Пример
В следующем примере возникает ошибка CS0616.
// CS0616.cs
// compile with: /target:library
[CMyClass(i = 5)] // CS0616
public class CMyClass {}
В следующем примере представлен способ определения атрибута.
// 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 {}