编译器错误 CS0447
更新:2007 年 11 月
错误消息
属性不能用于类型变量,只能用于类型参数
将属性应用于出现在调用语句中的类型变量时会发生此错误。将属性应用于类或方法声明语句中的类型参数是可以接受的,如下所示:
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
}
}