1

XML ファイルを読み取ろうとしていますtype of the expression in the select clause is incorrect. Type inference failed in the call to 'Select'が、次のクエリの結果としてエラーが発生します。

List<Data> dogs = (from q in doc.Descendants("dog")
    where (string)q.Attribute("name") == dogName
        select new Data
        {
            name = q.Attribute("name").Value,
            breed = q.Element("breed").Value,
            sex = q.Element("sex").Value
        }.ToList<Data>);

データクラス:

public class Data
{
    public string name { get; set; }
    public string breed { get; set; }
    public string sex { get; set; }
    public List<string> dogs { get; set; }
}
4

1 に答える 1

5

問題は、閉じ括弧にToList()あります。オブジェクト初期化子の最後に置くつもりだったときに、呼び出しの最後にそれを持っています。また、実際にメソッドを呼び出しているのではなく、メソッド グループを指定しているだけです。最後に、型推論で型引数を計算させることができます。

List<Data> dogs = (from q in doc.Descendants("dog")
                   where (string)q.Attribute("name") == dogName
                   select new Data
                   {
                       name = q.Attribute("name").Value,
                       breed = q.Element("breed").Value,
                       sex = q.Element("sex").Value
                   }).ToList();
于 2013-07-25T15:07:35.907 に答える