【发布时间】:2019-06-10 06:30:10
【问题描述】:
以下TestClass 有一个标记为[NotNull] 的非只读字段。
ReSharper 检查我是否在构造函数中初始化了字段。
我想将初始化代码保存在单独的方法UpdateFields 中以遵守 DRY 原则。但 ReSharper 不明白这一点。
如何通知 ReSharper 我已经初始化了字段?我可以以任何方式使用Contract Annotation吗?
public class TestClass {
[NotNull] private object notNull;
//// ReSharper warns!
public TestClass() {
UpdateFields();
}
private void UpdateFields() {
notNull = new object();
}
}
【问题讨论】:
-
我猜静态分析仅限于构造函数(正如你所发现的),我猜用
pragma或 resharper 评论禁用它 -
你是对的。客户支持是这样说的:(
-
将您收集的所有这些信息添加到答案中