Auf Englisch lesen

Freigeben über


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 Ceine statische Methode namens MyStaticMethodenthä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.