Compilerfehler CS0616
"Klasse" ist keine Attributklasse
Es wurde versucht, eine Nicht-Attributklasse in einem Attributblock zu verwenden. Alle Attributtypen müssen von System.Attribute geerbt werden.
Beispiel 1
Im folgenden Beispiel wird CS0616 generiert.
// CS0616.cs
// compile with: /target:library
[CMyClass(i = 5)] // CS0616
public class CMyClass {}
Beispiel 2
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 {}
Zusammenarbeit auf GitHub
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.