使用英语阅读

通过


编译器错误 CS0447

特性不能在类型实参上使用,只能在类型形参上使用

当将特性应用于调用语句中出现的类型实参时,将发生此错误。 在如下所示的类或方法声明语句中将特性应用于类型参数是可接受的:

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

以下代码行将生成此错误。 假定在之前的代码行中定义的类 C具有一个静态方法 MyStaticMethod

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

示例

以下代码生成错误 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
    }
}

备注

Roslyn 中不再使用此编译器错误。