为什么编译器说字段永远不会被使用?

时间:2014-05-28 21:39:26

标签: c# visual-studio-2003

追求完美以便抓住友善(解释Vince Lombardi),我试图摆脱一个项目的唯一警告,即: c:\ project \ nrps \ PoisonFoot \ releases \ 6-4-0 \ hhs \ frmPlatypus.cs(103,16):警告CS0169:私有字段' PDQClient.frmPlatypus.scanned'永远不会使用

所以我注释掉了这一行:

private bool scanned = false;

......但后来我得到了:

C:\ Project \ nrps \ PoisonFoot \ Releases \ 6-4-0 \ HHS \ frmPlatypus.cs(3390):名称'已扫描'在类或名称空间中不存在' PDQClient.frmPlatypus'

...在两个地方(在同一个类别中,它被认为是不必要的定义)

我怎么能在没有尝试的情况下欺骗编译器?如何在没有收到错误的情况下摆脱警告?

1 个答案:

答案 0 :(得分:16)

csc(C#编译器)说从不使用某个字段时,它实际上意味着你永远不会从字段中读取。如果您只写入私有成员字段,编译器会推断该字段是多余的。所以,我假设你在frmPlatypus.cs的第3390行指定扫描,而不是从中读取,这就是编译器抱怨的原因。

另外 - 3390行?真的?