Compiler Error CS0616

"Klasse": ist keine Attributklasse

Es wurde versucht, eine Klasse, die keine Attributklasse darstellt, in einem Attributblock zu verwenden. Sämtliche Attributtypen müssen von System.Attribute geerbt werden.

Beispiel

Im folgenden Beispiel wird CS0616 generiert.

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

Beispiel

Im folgenden Beispiel wird demonstriert, wie ein Attribut definiert werden kann:

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