c# – 命名BackgroundWorker

我希望能够命名一个BackgroundWorker来使调试更容易。这可能吗?
我必须尝试,但是你不能只是在BackgroundWorker执行的DoWork()方法中设置线程的Name

更新:我刚刚尝试以下代码行作为我的BackgroundWorkers DoWork()方法的第一个语句,它的工作原理:

if (Thread.CurrentThread.Name == null)
    Thread.CurrentThread.Name = "MyBackgroundWorkerThread";

更新:正如Jonathan Allen正确地指出,一个线程的名称是一次写入,所以我在设置名称之前添加了一个空的检查。第二次尝试写入名称将导致InvalidOperationException异常。正如Marc Gravell写道,一旦汇集的后台线程重新用于其他工作,它也可能使调试更加困难,因此只有在必要时才能命名线程。

翻译自:https://stackoverflow.com/questions/3267605/naming-backgroundworker

转载注明原文:c# – 命名BackgroundWorker