Compilerfehler CS0447

Aktualisiert: November 2007

Fehlermeldung

Attribute können nicht für Typargumente verwendet werden, sondern nur für Typparameter.
Attributes cannot be used on type arguments, only on type parameters

Dieser Fehler tritt auf, wenn ein Attribut auf ein Typargument angewendet wird, das in einer Aufrufanweisung enthalten ist. Es ist zulässig, ein Attribut auf einen Typparameter in einer Anweisung zur Klassen- oder Methodendeklaration wie folgt anzuwenden:

class C<[some attribute] T> {…}

Dieser Fehler wird durch die folgende Codezeile generiert. Es wird angenommen, dass die C-Klasse, die in der vorherigen Codezeile definiert wurde, über die statische MyStaticMethod-Methode verfügt.

C<[some attribute] T>.MyStaticMethod();

Der Fehler CS0447 wird durch folgenden Code generiert.

// 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
    }
}

Community-Beiträge

Anzeigen: