У меня есть общий класс, в котором у меня есть функция для получения свойств переданного общего объекта. Это так, как показано ниже.
public class ExportToCsv<T>
where T: class
{
public ExportToCsv(List<T> obj)
{
this.Data = obj;
}
public StringBuilder CreateRows()
{
IEnumerable<PropertyInfo> properties = typeof(T).GetProperties();
}
}
Он отлично работает и возвращает мне свойства, если я передаю объект, выбрав из объекта (класса), как показано ниже
//GetLeadingRoutingRecords returns a class/object
var result = from obj in GetLeadRoutingRecords()
select new
{
LeadRoutingId = obj.LeadRoutingID,
Make = obj.Make
};
и передать этот результат в результате. result.ToList();
но когда я пытаюсь создать свой собственный анонимный объект, создав класс для свойств, как показано ниже, он не работает, не возвращая никаких свойств
Примечание: приведенный ниже код вызывается в цикле, и он хорошо функционирует и передается вышеуказанной функции, может видеть все значения путем отладки.
public CsvReport function return(){
return new CsvReport
{
ShopName = this.val,
TargetVehicleName = val
}.ToList();
}
класс, который я написал для вышеупомянутого анонимного объекта, выглядит следующим образом:
public class CsvReport
{
public string ShopName { get; set; }
public string TargetVehicleName { get; set; }
}
поэтому в этом случае он не работает, я выбираю первую запись и получаю свойства, как показано ниже
this.Data.First().GetType().GetProperties();
Я хочу использовать первый шаблон даже здесь, который является type(T).GetProperties
Итак, любая работа вокруг пожалуйста........................