Вход на сайт
Почему без каста не работает?
406
13.03.19 12:07
Почему без каста не работает?
Простой код:
XmlSchema xsdSchema = ...;
var items = xsdSchema.Items.Cast<XmlSchemaObject>() // didn't work without this cast
.Where(item => item.GetType() == typeof(XmlSchemaAnnotation));
;
Items - коллекция XmlSchemaObject - вроде должно работать без дополнительного каста.
П.С. Обычного Селекта - тоже нет... просто нет. Вроде все либы референснуты...
NEW 13.03.19 14:11
в ответ AlexNek 13.03.19 13:58
Цикл перебора элементов по XmlSchemaObject вполне работает.
Хотя - возможно.
Но, блин, приходится вот такое изобретать:
XmlSchemaComplexType item = xsdSchema.Items.Cast<XmlSchemaObject>().Where(x => x.GetType() == typeof(XmlSchemaComplexType)).Cast<XmlSchemaComplexType>().FirstOrDefault();
NEW 13.03.19 15:03
в ответ Murr 13.03.19 14:11
слишком много в одной строке. Можно и по другому записать
IEnumerable<XmlSchemaObject> items = from item in xsdSchema.Items.Cast<XmlSchemaObject>() where item.GetType() == typeof(XmlSchemaAnnotation) select item; XmlSchemaObject schemaObject = items.FirstOrDefault();