Compilerfehler CS0616

"Klasse" ist keine Attributklasse

Es wurde versucht, eine Nicht-Attributklasse in einem Attributblock zu verwenden. Alle Attributtypen müssen von <xref:System.Attribute?displayProperty=fullName> geerbt werden.

Beispiel

Im folgenden Beispiel wird CS0616 generiert.

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

Beispiel

In folgendem Beispiel wird gezeigt, wie Sie ein Attribut definieren können:

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