Erreur du compilateur CS0447
Mise à jour : novembre 2007
Message d'erreur
Les attributs ne peuvent pas être utilisés sur des arguments de type, uniquement sur des paramètres de type
Attributes cannot be used on type arguments, only on type parameters
Cette erreur se produit lorsque vous appliquez un attribut à un argument de type dans une instruction d'appel. Il est acceptable d'appliquer un attribut à un paramètre de type dans une déclaration de classe ou de méthode, telle que :
class C<[some attribute] T> {…}
La ligne de code suivante générera cette erreur. Il est supposé que la classe C, définie dans la ligne de code précédente, a une méthode statique appelée MyStaticMethod.
C<[some attribute] T>.MyStaticMethod();
Exemple
Le code suivant génère l'erreur 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
}
}