4

If I'm building a debug solution and I have

#if !DEBUG
public void DoA()
{
    DoB();
}
#endif

public void DoB()
{
}

When I use resharper to do a Find Usages on DoB nothing is found. The purpose of find usages is to find all the usages of a certain method not just those used in a particular build configuration.

Is this something I can disable as it makes refactoring with Resharper less predictive.

Resharper build is: 5.1.3000.12

thekip
  • 3,660
  • 2
  • 21
  • 41
  • Note that you are not using any #pragmas there. – Sebastian Mach Jul 06 '11 at 12:57
  • I am not sure. `#if`+co. are there to logically, even physically after the first step in compilation, cut out and throw away code. In that, anything that is inside such cut out piece of code, which may not even be code but rather _everything_ fitting the source character set (like `#if 0 \n \n#endif`), might (IMHO) validly not considered used code. – Sebastian Mach Jul 06 '11 at 13:00

1 Answers1

5

While not strictly answering your question, a potential workaround (which may or may not be practical for you) would be to use Conditional attributes instead of #if directives:

[Conditional("DEBUG")]
public void DoA()
{
    DoB();
}

public void DoB()
{
}
Ergwun
  • 12,579
  • 7
  • 56
  • 83