Błąd kompilatora CS0447
Atrybutów nie można używać w argumentach typu, tylko dla parametrów typu
Ten błąd występuje, gdy stosujesz atrybut do argumentu typu występującego w instrukcji wywołania. Dopuszczalne jest zastosowanie atrybutu do parametru typu w klasie lub instrukcji deklaracji metody, takiej jak:
class C<[some attribute] T> {…}
Następujący wiersz kodu spowoduje wygenerowanie tego błędu. Zakłada się, że klasa C
, zdefiniowana w poprzednim wierszu kodu, ma statyczną metodę o nazwie MyStaticMethod
.
C<[some attribute] T>.MyStaticMethod();
Poniższy kod generuje błąd 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
}
}
Uwaga
Ten błąd kompilatora nie jest już używany w systemie Roslyn.
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: