私はこのコードを持っています:
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's answerを読むことができます。