Это связано с моим предыдущим вопросом Преобразование общего списка C # в класс, реализующий List
У меня есть следующий код:
public abstract class DataField
{
public string Name { get; set; }
}
public class DataField : DataField
{
public T Value { get; set; }
}
public static List ConvertXML(XMLDocument data) {
result = (from d in XDocument.Parse(data.OuterXML).Root.Decendendants()
select new DataField
{
Name = d.Name.ToString(),
Value = d.Value
}).Cast().ToList();
return result;
}
Это работает, однако я хотел бы иметь возможность изменить выбранную часть запроса LINQ на что-то вроде этого:
select new DataField<[type defined in attribute of XML Element]>
{
Name = d.Name.ToString(),
Value = d.Value
}
Это просто плохой подход? Является ли это возможным? Есть предложения?