Compilerfehler CS0592
Das "Attribut"-Attribut ist für diesen Deklarationstyp nicht gültig.Es ist nur für "Typ"-Deklarationen gültig.
Beim Definieren eines Attributs geben Sie mit dem AttributeTargets-Wert an, auf welche Konstrukte dieses angewendet werden kann.Im folgenden Beispiel kann das MyAttribute-Attribut nur auf Schnittstellen angewendet werden, da mit dem AttributeUsage-Attribut AttributeTargets.Iterface angegeben wird.Der Fehler wird generiert, da das Attribut auf eine Klasse (Klasse A) angewendet wird.
Beispiel
Im folgenden Beispiel wird CS0592 generiert:
// CS0592.cs
using System;
[AttributeUsage(AttributeTargets.Interface)]
public class MyAttribute : Attribute
{
}
[MyAttribute]
// Generates CS0592 because MyAttribute is not valid for a class.
public class A
{
public static void Main()
{
}
}