我使用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)JetBrainsReSharperv8.2BinpackagesReSharper.ExternalAnnotations.8.2.1000.4556.nupkg
,并找到了预期的外部注释,它应该告诉ReSharper"理解"断言。
这里有什么问题吗?
编辑:这是一个调试版本
如果您正在编译Release
构建,我相信r#将忽略对Debug.Assert
的条件调用。