我有一个泛型类,其中我有一个函数来获取传递的泛型对象的属性。如下所示。
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
所以,请任何解决方法.......................