我在运行时创建了一个动态列表,执行后我需要将该列表分配给我的类属性。
List<tblchargemaster> charge = new List<tblchargemaster>();
charge = (List<tblchargemaster>) ObjDB.SelectQuery("tblchargemaster");
tblchargemaster
是类类型,SelectQuery
函数返回List<dynamic>
。我该如何将这个动态列表转换为我的类类型的列表?
public List<dynamic> SelectQuert(string TableName)
{
Conn.Open();
DataTable dt = new DataTable("map");
string Query = "Select * from " + TableName;
MySqlDataAdapter dr = new MySqlDataAdapter(Query, Conn);
dr.Fill(dt);
List<dynamic> dynamicDt = dt.ToDynamic();
Conn.Close();
return dynamicDt;
}
泛型类是什么?
public static class DataTableExtensions
{
public static List<dynamic> ToDynamic(this DataTable dt)
{
var dynamicDt = new List<dynamic>();
foreach (DataRow row in dt.Rows)
{
dynamic dyn = new ExpandoObject();
foreach (DataColumn column in dt.Columns)
{
var dic = (IDictionary<string, object>)dyn;
dic[column.ColumnName] = row[column];
dynamicDt.Add(dyn);
}
}
return dynamicDt;
}
}