我有以下最终代码:
SqlDataReader dataReader;
dataReader = cmd.ExecuteReader();
// var list = new List<string[]>();
List<T[]> list = new List<T[]>();
while (dataReader.Read())
{
// var row = new string[dataReader.FieldCount];
//object[] row new object;
T[] bass;
object[] row = new object[dataReader.FieldCount];
dataReader.GetValues(row);
bass = (T[]) Convert.ChangeType(row,typeof(T[]));
list.Add(bass);
}
我一直在尝试以不同的方式将对象数组转换为T泛型类型数组,但是一直没有成功。对于早期的代码,我得到了一个运行时错误:对象必须实现IConvertible接口。 当我定义这个类时,我对泛型类型进行了约束:
class Cclass<T>: Iinterface<T> where T:IConvertible
{
//body
}
我愿意接受其他建议,只要能满足将数据转换为通用数组的目标。
谢谢!