ReSharper似乎忽略了Debug.Assert(Boolean)上的外部注释



我使用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的条件调用。

最新更新