8

Nameのを便利に設定するためのヘルパーメソッドを書いていますThread

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は、条件は常にfalseであり、対応するコードはヒューリスティックに到達できないと主張しています。それは間違っている。文字列が割り当てられるまで、 AThread.Nameは常にnullです。

では、なぜReSharperはそうだと思うのでしょうか。そして、ReSharperに(以外の// ReSharper disable ...)そうではないことを伝える方法はありますか?

ReSharper5.1.3を使用しています。

4

2 に答える 2

9

これはRSの6+で修正されたと思います。ここを参照してください。

于 2012-11-02T16:22:22.480 に答える
3

これはR#のバグのようで、v6で修正されています。

参照:http ://devnet.jetbrains.net/message/5366898

于 2012-11-02T16:25:39.183 に答える