Compilerfehler CS0447
Attribute können nicht für Typargumente verwendet werden, sondern nur für Typparameter.
Dieser Fehler tritt auf, wenn Sie ein Attribut auf ein Typargument anwenden, das in einer Aufrufanweisung auftritt. Es ist zulässig, ein Attribut auf einen Typparameter in einer Klassen- oder Methodendeklarationsanweisung wie der folgenden anzuwenden:
class C<[some attribute] T> {…}
Dieser Fehler wird durch die folgende Codezeile generiert. Es wird davon ausgegangen, dass die in der vorherigen Codezeile definierte Klasse C
eine statische Methode namens MyStaticMethod
enthält.
C<[some attribute] T>.MyStaticMethod();
Beispiel
Der folgende Code generiert den Fehler CS0447:
// CS0447.cs
using System;
namespace Test41
{
public interface I<A>
{
void Meth<B>();
}
public class B : I<int>
{
void I<[Test] int>.Meth<X>() { } // CS0447
}
}
Hinweis
Dieser Compilerfehler wird in Roslyn nicht mehr verwendet.