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