如何通过反射创建锯齿状数组?

时间:2014-02-17 19:20:05

标签: multidimensional-array f# type-providers

例如,如果我elementType类型为int[],则elementType.MakeArrayType()会抛出异常,而elementType.GetElementType().MakeArrayType(2)会创建int[,]。如何创建int[][]

编辑:这只发生在ProvideTypeDefinition上。原来这是ProvideTypes.fs

中的一个错误

1 个答案:

答案 0 :(得分:3)

锯齿状数组只是一个数组数组,所以你分两步完成:

Type intArray = typeof(int).MakeArrayType();
Type jaggedArray = intArray.MakeArrayType();

或者在一行中:

Type jaggedArray = typeof(int).MakeArrayType().MakeArrayType();