C# の仕様では、オブジェクト (または構造体) の初期化子構造内からメソッドを呼び出すことはできませんか?
私が尋ねている理由は、LINQ-to-XML ステートメントを使用して初期化子内でゲーター データを使用しようとしていたからです。これは動作しません。ただし、手動でローカル変数に保存する前にデータを取得すると、問題なく動作します。コードのエラーをすでに把握しているので、なぜこれが起こるのか疑問に思っていました。
動作しません:
SavedData sData = new SavedData()
{
exportLocation = data.Root.Descendants("ExportLocation").FirstOrDefault().Value,
exportType = (ExportType)data.Root.Descendants("ExportType").FirstOrDefault().Value
};
作品:
var exLoc = data.Root.Descendants("ExportLocation").FirstOrDefault().Value;
ExportType type = (ExportType)data.Root.Descendants("ExportType").FirstOrDefault().Value;
Saved Data sData = new SavedData()
{
exportLocation = exLoc,
exportType = type
};