我正在使用Visual Studio 2010和ReSharper 8.2.1,扩展名为ReSharper.ExternalAnnotations 8.2.1001。尽管在下面的代码中有断言,但ReSharper警告可能System.NullReferenceException
。它甚至建议添加一个断言作为修复。
static int Foo(string s)
{
Debug.Assert(s != null);
return s.Length; // Possible 'System.NullReferenceException'
}
我解压缩C:\Program Files (x86)\JetBrains\ReSharper\v8.2\Bin\packages\ReSharper.ExternalAnnotations.8.2.1000.4556.nupkg
并找到了应该告诉ReSharper“理解”断言的预期外部注释。
这里可能有什么问题?
编辑:这是一个调试版本。
答案 0 :(得分:1)
如果您正在编译Release
版本,我相信R#会忽略对Debug.Assert
的条件调用。