我有一个流畅、可扩展的验证助手,例如:
Assert.That(aParameter).IsNotNull();
它是可扩展的,因为 That 方法实际上是通用的 (That<T>) 并使用隐式类型来返回通用的 IAssertCondition<T> 对象。IsNotNull 实际上是一个扩展方法。
无论如何,使用这种方法验证传递给方法的参数的问题是我收到 CA1062 警告,指示我在使用参数之前验证参数,当然,我已经在这样做了。
我阅读了 Eric Smith 的帖子(此处)关于使用 ValidatedNotNullAttribute 来通知 FxCop 正在验证该参数,但我不知道如何使用我描述的流畅界面来完成此操作。
我有哪些选择,以便代码分析能够识别出上述语句满足要求并且不会出现警告?