IEnumerableをobject[、]に変換するジェネリックメソッドを構築しようとしています。これの目的は、理想的には2Dオブジェクト配列を必要とするExcelDNAを介してExcelに挿入することです。
私は振り返りに不慣れで、ここのギャップを埋めるためにいくつかの深刻な助けが必要です。以下に投稿されたコードは私がこれまでに持っているものです。必要なのは、外側のループのDataSourceのインデックスiでTのプロパティを取得することです。次に、内側のループで各プロパティの値を順番に取得し、object [、]に挿入します。
助けていただければ幸いです。ありがとうリチャード
public object[,] ConvertListToObject<T>(IEnumerable<T> DataSource)
{
int rows = DataSource.Count();
//Get array of properties of the type T
PropertyInfo[] propertyInfos;
propertyInfos = typeof(T).GetProperties(BindingFlags.Public);
int cols = propertyInfos.Count(); //Cols for array is the number of public properties
//Create object array with rows/cols
object[,] excelarray = new object[rows, cols];
for (int i = 0; i < rows; i++) //Outer loop
{
for(int j = 0; j < cols; j++) //Inner loop
{
object[i,j] = //Need to insert each property val into j index
}
}
return excelarray;
}
}