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