Это НЕ вопрос об исключении NullReferenceException. Это вопрос о том, почему показанное заявление будет бросать одно, а что с ним не так.Проблема Анализ XML Documnet с Linq.Xml
Я пытаюсь разобрать небольшой документ XML с помощью Linq.Xml и я получаю нулевую ссылку исключение при попытке создать список объектов из запроса Linq
_columnDefs = (from def in fileDef.Descendants("columndef")
select new ColumnDef()
{
Name = def.Attribute("Name").Value,
Type = def.Attribute("Type").Value,
Required = bool.Parse(def.Attribute("Required").Value),
Default = def.Attribute("Default").Value
}).ToList<ColumnDef>();
Кода здесь терпит неудачу с NullReferenceException как показано здесь
У меня возникли проблемы, пытаясь выяснить, если новый объект ColumDef является вопрос или что-то еще. Если это новый ColumnDef, то почему «новый» оператор не создает экземпляр объекта?
_columnDefs определяется как _columnDefs = new List<ColumnDef>();
Возможный дубликат [Что такое исключение NullReferenceException и как его исправить?] (Http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix- it) –
Каждый узел 'columndef' содержит атрибуты' Name', 'Type',' Required', 'Default'? –
@coderoipo - Они этого не делают. У меня сложилось впечатление, что он заполнит строковую переменную («По умолчанию» в этом случае является необязательным атрибутом) с нулевым значением и оставьте его на этом. Какой был бы лучший способ решить эту проблему? Могу ли я написать условный оператор внутри оператора Linq? – dscarr