Compilerfehler CS0616Compiler Error CS0616

"Klasse" ist keine Attributklasse'class' is not an attribute class

Es wurde versucht, eine Nicht-Attributklasse in einem Attributblock zu verwenden.An attempt was made to use a non-attribute class in an attribute block. Alle Attributtypen müssen von System.Attribute geerbt werden.All the attribute types need to be inherited from System.Attribute.

BeispielExample

Im folgenden Beispiel wird CS0616 generiert.The following sample generates CS0616.

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

BeispielExample

In folgendem Beispiel wird gezeigt, wie Sie ein Attribut definieren können:The following sample shows how you might define an attribute:

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