c# - 为什么 ReSharper 认为 "thread.Name == null"总是错误的?

标签 c# multithreading resharper

<分区>

我正在编写一个辅助方法来方便地设置 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 中修复的。参见 here .

关于c# - 为什么 ReSharper 认为 "thread.Name == null"总是错误的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13199043/

相关文章:

c# - Entity Framework 6 和 MS-SQL Server 连接弹性的自定义执行策略

c# - 将 .NET SqlType 与 MySQL 结合使用

multithreading - 线程是否有任何实用的替代方案?

javascript - 如何评论 ReSharper 以便 Intellisense 显示文档?

visual-studio - Angular 2 代码片段扩展(来自 Mads)在 VS 2017 中不起作用

c# - ASP.NET dotnet框架中缺少System.Net.Sockets? -ASP.NET vNext

c# - 调用方法时结构体值不会改变

resharper - 编辑 Resharper Intellisense 建议

c++ - 为什么创建的线程数小于thread-max?

java - 在Java并发教程的fork/join部分中, "computeDirectly"函数是如何通过 "invokeAll"执行的?