我目前正在尝试使用带泛型类型的扩展方法将IEnumerable<T>
转换为T2类型的二维数组。您还应该能够选择要包含在该阵列中的T的哪些属性。通用类型扩展方法ToMultidimensionalArray
这是我走到这一步:
public static T2[][] ToMultidimensionalArray<T, T2>(this IEnumerable<T> enumerable, int count, params string[] propNames)
{
IEnumerator<T> enumerator = enumerable.GetEnumerator();
T2[][] resultArray = new T2[count][];
int i = 0;
int arrLength = propNames.Length;
while (enumerator.MoveNext())
{
resultArray[i] = new T2[arrLength];
int j = 0;
foreach(string prop in propNames)
{
resultArray[i][j] = ((T)enumerator.Current).//How do I access the properties?
j++;
}
i++;
}
return resultArray;
}
我在访问foreach
-loop内enumerator.Current
性质的问题。
我正在使用.NET Framework 4.0。
任何输入将不胜感激。
谢谢,
丹尼斯
这不起作用,因为T不知道任何特殊属性。 您定位哪个框架?任何机会使用动态(从.NET 4.0)? – user492238 2011-06-08 15:03:12
已更新问题。我的确在使用4.0。 – 2011-06-08 15:04:13