为什么ReSharper认为“thread.Name == null”总是假的?

我正在编写一个帮助方法来方便地设置一个ThreadName

 public static bool TrySetName(this Thread thread, string name) { try { if (thread.Name == null) { thread.Name = name; return true; } return false; } catch (InvalidOperationException) { return false; } } 

它按预期工作。 然而,ReSharper声称条件总是错误的,相应的代码是启发式无法访问的。 那是错的。 在分配字符串之前, Thread.Name始终为null。

那么,为什么ReSharper认为它是? 有没有办法告诉ReSharper它不是(除了// ReSharper disable ... )?

我正在使用ReSharper 5.1.3。

我认为这已经在6+ RS中修复了。 看到这里 。

它似乎是R#中的一个错误,在v6中已修复。

见: http : //devnet.jetbrains.net/message/5366898