List 将动态元素添加到我的列表时出现问题<;T>;
我已经创建了一个列表。我有一个函数,可以根据数据库返回的查询自动填充列表。当我将一个元素添加到此列表时,值所有元素的属性都是相同的。但是,名为“Data”的动态对象是很好的List 将动态元素添加到我的列表时出现问题<;T>;,list,dynamic,List,Dynamic,我已经创建了一个列表。我有一个函数,可以根据数据库返回的查询自动填充列表。当我将一个元素添加到此列表时,值所有元素的属性都是相同的。但是,名为“Data”的动态对象是很好的 public static List<T> GetAnyData<T>(this TMyDb DbObject, T AObject, string SqlText) { List<T> result = new List<T>();
public static List<T> GetAnyData<T>(this TMyDb DbObject, T AObject, string SqlText)
{
List<T> result = new List<T>();
if (!DbObject.Connected)
DbObject.ConnectDb();
if (DbObject.Connected)
{
try
{
DbObject.command.CommandType = System.Data.CommandType.Text;
DbObject.command.CommandText = SqlText;
DbObject.reader = DbObject.command.ExecuteReader();
if (DbObject.reader.HasRows)
{
DataTable Dt = new DataTable();
Dt.Load(DbObject.reader);
//result = new List<T>(Dt.Rows.Count);
for (int k = 0; k < Dt.Rows.Count; k++)
{
T data = default(T);
for (int i = 0; i < Dt.Columns.Count; i++)
{
data = AObject;
try
{
object objVal = Dt.Rows[k][Dt.Columns[i].ColumnName];
if (DBNull.Value.Equals(objVal) != null)
{
data.GetType().GetProperty(Dt.Columns[i].ColumnName).SetValue(data, Dt.Rows[k][Dt.Columns[i].ColumnName]);
}
}
catch (Exception ex)
{
Log.WriteLog(LogLevel.Error, ex.Message, "DbHelper.GetMiaDataSingleRow. Column Name:" + Dt.Columns[i].ColumnName, "", "");
}
}
result.Add(data);
}
Dt.Dispose();
}
}
catch (Exception ex)
{
Log.WriteLog(LogLevel.Error, ex.Message, "DbHelper.GetMiaDataSingleRow", "", "");
}
}
return result;
}
公共静态列表GetAnyData(此TMyDb DbObject、T aoobject、字符串SqlText)
{
列表结果=新列表();
如果(!DbObject.Connected)
DbObject.ConnectDb();
if(DbObject.Connected)
{
尝试
{
DbObject.command.CommandType=System.Data.CommandType.Text;
DbObject.command.CommandText=SqlText;
DbObject.reader=DbObject.command.ExecuteReader();
if(DbObject.reader.HasRows)
{
DataTable Dt=新的DataTable();
Dt.Load(DbObject.reader);
//结果=新列表(Dt.Rows.Count);
对于(int k=0;k
此操作的结果是添加到列表中的所有元素的