我有这个代码:
public class MyClass
{
public int X { get; set; }
public int Y { get; set; }
private Lazy<int> lazyGetSum = new Lazy<int>(new Func<int>(() => X + Y));
public int Sum{ get { return lazyGetSum.Value; } }
}
Run Code Online (Sandbox Code Playgroud)
给我这个错误:
字段初始值设定项不能引用非静态字段,方法或属性.
我认为通过懒惰访问非静态成员是非常合理的,怎么做?
*编辑*
接受的答案完美地解决了这个问题,但是要看到问题的详细和深入 - 总是原因,你可以阅读Joh Skeet的答案.