Číst v angličtině

Sdílet prostřednictvím


Chyba kompilátoru CS0447

Atributy nelze použít u argumentů typu, pouze u parametrů typu.

K této chybě dochází, když použijete atribut na argument typu, ke kterému dochází v příkazu vyvolání. Je přijatelné použít atribut na parametr typu v příkazu deklarace třídy nebo metody, například následující:

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

Následující řádek kódu vygeneruje tuto chybu. Předpokládá se, že třída C, definovaná v předchozím řádku kódu, má statickou metodu volal MyStaticMethod.

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

Příklad

Následující kód vygeneruje chybu CS0447:

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

Poznámka

Tato chyba kompilátoru se už v Roslynu nepoužívá.