小编pos*_*tos的帖子

我无法将列表<object []>转换为C#中的列表<T []>

我有以下最终代码:

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);
}
Run Code Online (Sandbox Code Playgroud)

我一直试图以不同的方式将对象数组转换为T泛型类型数组,但我没有做到.对于早期的代码,我得到一个运行时错误:对象必须实现IConvertible.我在定义类时为泛型类型设置了约束:

class Cclass<T>: Iinterface<T> where T:IConvertible
{  
    //body 
}
Run Code Online (Sandbox Code Playgroud)

我愿意接受其他可以实现我向通用数组转换的目标的建议.谢谢!

c# generics object typeconverter

4
推荐指数
1
解决办法
733
查看次数

标签 统计

c# ×1

generics ×1

object ×1

typeconverter ×1