2012-11-02 17 views
8

Sto scrivendo un metodo di supporto per l'impostazione comodamente la Name di un Thread:Perché ReSharper pensa che "thread.Name == null" sia sempre falso?

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; 
    } 
} 

Sta funzionando come previsto. ReSharper, tuttavia, afferma che la condizione è sempre falsa e il codice corrispondente è euristicamente irraggiungibile. È sbagliato. A è sempre nullo fino a quando non viene assegnata una stringa.

Così, perché ReSharper penso che sia? E c'è un modo per dire a ReSharper che non lo è (diverso da // ReSharper disable ...)?

Sto usando ReSharper 5.1.3.

+3

sto usando ReSharper 6 e non si lamenta. –

+0

forse a causa di un bug? – Vlad

risposta

9

Questo problema è stato risolto in 6+ di RS. Vedi here.

Problemi correlati