Вопрос о Linq для XML из учебника, который я следую - PullRequest
1 голос
/ 06 апреля 2011

Я следую этому учебнику

var groups = from sharePointGroup in groupsXml.Root.Elements("Group")

                select new

                {

                    Name = sharePointGroup.Attribute("Name").Value,

                    Owner = sharePointGroup.Attributes("Owner").Any() ? sharePointGroup.Attribute("Owner").Value : null,

                    Description = sharePointGroup.Attributes("Description").Any() ? sharePointGroup.Attribute("Description").Value : string.Empty,

                    PermissionLevel = sharePointGroup.Attributes("PermissionLevel").Any() ? sharePointGroup.Attribute("PermissionLevel").Value : null,

                    Users = sharePointGroup.Elements("User").Any() ? sharePointGroup.Elements("User") : null

                };

У них есть это: groupsXml.Root.Elements("Group"), но когда я пытаюсь это сделать, я получаю сообщение об ошибке

Ошибка 3 Не удалось найти реализация шаблона запроса для типа источника 'System.Collections.Generic.IEnumerable. «Выбрать» не найдено. Вы скучаете по ссылка на 'System.Core.dll' или использование директивы для System.Linq

Когда я просматриваю свои ссылки, я не вижу System.Linq (только System.Xml.Linq; и SharePoint.linq)

Когда я смотрю на msdn , я вижу, что вместо строки используется "Xname"

1 Ответ

1 голос
/ 06 апреля 2011
  1. Xname имеет конструктор, который принимает строку, так что это правильно.
  2. Если у вас нет using System.Linq;, вам нужно добавить его.
  3. Вам не нужно добавлять ссылки на ваш проект. Пространство имен System.Linq определено в сборке System.Core.dll, на которую ссылается по умолчанию.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...