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()
    {
    }
}

Siehe auch

Referenz

Attribute (C# und Visual Basic)