Compilerfehler CS0592

Das Attribut „Attribut“ ist für diesen Deklarationstyp nicht gültig. Es ist nur in Deklarationen vom Typ „Typ“ 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 Attribut MyAttribute nur auf Schnittstellen angewendet werden, da AttributeTargets.Interface mit dem Attribut AttributeUsage angegeben wird. Der Fehler wird generiert, da das Attribut auf eine Klasse (Klasse A) angewendet wird.

Beispiel

Im folgenden Beispiel wird der Fehler 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