我的代码我正在使用该System.Function方法在方法Debug.Assert(..)的开头验证输入参数(请参阅以下示例代码):
public class TestClass : IInterface
{
}
public class Verifier
  {
     public static void Verify(IInterface objectToVerify)
     {
        Debug.Assert((objectToVerify is TestClass), "Passed object must be type of TestClass");
        // ReSharper (Version 7.1.1) marks here "Expression is always false
        if (!(objectToVerify is TestClass))
        {
           return;
        }
        // do something ...
     }
  }
如果我注释掉该Debug.Assert声明,ReSharper 警告就会消失。在我看来,ReSharper 必须忽略这个Debug.Assert语句,因为如果这个Debug.Assert语句没有被执行,下面的代码也会被执行(例如在发布模式下)
你有什么意见?还是有替代的实现思路?