我修复了一些继承代码中的错误。这是一个具有模块范围变量的类,它是一个Entity Framework DataContext。
问题是数据没有保存到数据库中。当我改变这个......
private _MyEntities => new MyEntities();
到此......
private _MyEntities = new MyEntities();
......一切正常。但我担心开发人员可能使用过' =>'由于某种原因我故意失踪。
这是一个错字还是应该做一些我不明白的事情?
提前致谢。
答案 0 :(得分:4)
首先,两行都不会按原样编译。这两行必须是:
private MyEntities _MyEntities => new MyEntities();
和
private MyEntities _MyEntities = new MyEntities();
第一个示例是使用C#6语法使用表达式主体的readonly属性。它是在C#5及之前执行以下操作的简写:
private MyEntities _MyEntities { get { return new MyEntities(); } }
它与private MyEntities _MyEntities = new MyEntities()
有三个不同之处:
private readonly MyEntities _MyEntities = new MyEntities()
解决。MyEntities
构造函数时发生的情况。MyEntities
的新实例。您的字段替代方案将始终返回相同的MyEntities
实例。这可能是写作者的故意,或者可能是潜在的错误。