为什么用户定义的类没有"declared but never used"警告?



在c#中,当您声明但不使用内置类或结构时,您会声明但从未使用过"警告,即使将变量分配给在此代码中:

string myStr;
myStr = "foo";
return;

但是,您对用户定义的类或结构没有相同的警告:

Bar myBar;
myBar = new Bar();
return;

为什么在后一种情况下没有警告?如果构造函数有副作用,您只能说new Bar();,而分配副作用的唯一途径是分配运算符是否过载。但是,Visual Studio可以检查此问题并发出警告,如果操作员没有超载,但事实并非如此。有没有这样做的技术原因?

resharper将显示该问题 - 在任何执行路径中不使用分配的值 - c#。

代码分析还将显示问题-https://msdn.microsoft.com/library/ms182278.aspx。

关于为什么它现在不向您展示(没有代码分析或重新表演(,请参见https://stackoverflow.com/a/10629031/34092和https://github.com/dotnet/roslyn/rosloslyn/问题/15695(基本上是"按设计"(。

相关内容

最新更新