更新:2007 年 11 月

错误消息

私有字段“field”已被赋值,但该值从未使用过

在编译器检测到从未引用过某个变量的几种情况下可能发生此警告:

  • 已为一个私有字段赋予一个常数值,但随后从未读取该字段。不必要的赋值可能影响性能。可考虑删除该字段。

  • 仅在初始值设定项中为一个私有或内部静态字段赋予一个常数值。可考虑将该字段更改为常量字段。

  • 已为一个私有或内部字段赋予常数值,并且该字段只在 #ifdef 指令排除的块中使用。可考虑将该字段放入 #ifdef 块中。

  • 已在多个位置为一个私有或内部字段赋予常数值,但没有以其他方式访问过该字段。如果不需要该字段,可以考虑将其移除。否则,请按照某种适当的方式加以使用。

在其他情况下,或在建议的解决方法不可接受时,请使用 #pragma 0414。

下面的示例演示了用于生成 CS0414 的一种方式:

 复制代码
// CS0414
// compile with: /W3
class C
{
   private int i = 1;  // CS0414

   public static void Main()
   { }
}

注意   如果变量 i 声明为 protected or public,则不会生成错误,因为编译器无法知道派生类是否会使用该变量,也不知道其他一些客户端代码是否会实例化该类并引用该变量。

请参见