CS0447 de erro do compilador
Mensagem de erro
Atributos não podem ser usados em argumentos de tipo, somente em parâmetros de tipo
Este erro ocorre quando você aplica um atributo a um argumento de tipo que ocorre em uma demonstrativo de chamada.É aceitável para aplicar um atributo a um parâmetro de tipo em uma demonstrativo de demonstrativo de classe ou método, sistema autônomo o seguinte:
class C<[some attribute] T> {…}
A linha de código a seguir irá gerar este erro.Presume-se que a classe C, definido na linha de código anterior, tem um método estático chamado MyStaticMethod.
C<[some attribute] T>.MyStaticMethod();
Exemplo
O código a seguir gera erro 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
}
}