У меня есть этот код:
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; } }
}
Дает мне эту ошибку:
Инициализатор поля не может ссылаться на нестатические поля, метод или свойство.
Я думаю, что очень разумно обращаться к нестационарному члену через ленивый, как это сделать?
* РЕДАКТИРОВАТЬ *
Принятый ответ решает проблему отлично, но для того, чтобы увидеть подробный и подробный, и всегда - причину проблемы, вы можете прочитать ответ Joh Skeet.