Следующий код вызывает проблему
Невозможно неявно преобразовать тип 'System.Collections.Generic.IEnumberable<DataField<string>>'
в «Поля данных». Существует явное преобразование (вам не хватает приведения?).
Как мне обойти это? Что я делаю не так?
public class DataFields : List<DataField>
{
}
public abstract class DataField
{
public string Name { get; set; }
}
public class DataField<T> : DataField
{
public T Value { get; set; }
}
public static DataFields ConvertXML(XMLDocument data) {
DataFields result = (from d in XDocument.Parse(data.OuterXML).Elements()
select new DataField<string>
{
Name = d.Name.ToString(),
Value = d.Value
}).ToList();
return result;
}
Отредактировано: перемещение информации ниже к другому вопросу.
Использование LINQ для создания списка , где T: someClass
Кроме того, я хотел бы иметь возможность сделать что-то вроде следующего в этом утверждении, чтобы установить тип значения для каждого. Как мне это сделать.
select new DataField<[Attribute of element called type]>
{
Name = d.Name.ToString(),
Value = d.Value
}