未找到预处理器 IF 中的变量 ReSharper

Variables in preprocessor IFs not found ReSharper

class a
{
   private int num;
   private Person p;
    ....
   public int SomeMethod()
  {
    #IF someCondition
     p = new Person();
     num = 2;
     p.Legs = num;
  } 
}

Resharper 在这里说这两个字段都没有被使用。哪个是错误的,即取决于条件。我怎样才能避免这种情况?

我搜索了类似的问题,找到了一些但仍然没能理解如何解决这个问题。所以,即使这个问题是重复的,请至少告诉我如何才能准确解决它。

这只是 Resharper 试图提供帮助, (原来说注释应该围绕#IF 块,这是不正确的)

如果您用以下注释包围您的变量声明,那么它会告诉 Resharper 在分析此代码块期间排除此测试。

// ReSharper disable UnusedVariable.Compiler
        private int num;
        private Person p;
// ReSharper restore UnusedVariable.Compiler