2014-02-17 40 views
0

如果我有elementType類型int[],例如,elementType.MakeArrayType()會拋出異常,而elementType.GetElementType().MakeArrayType(2)將創建一個int[,]。我如何創建一個int[][]如何通過反射創建鋸齒陣列?

編輯:這隻發生在ProvidedTypeDefinition。原來,它是在ProvidedTypes.fs

+3

'typeof(int [])。MakeArrayType()'不會爲我引發異常。請展示一個簡短但完整的程序來展示問題。 –

回答

3

錯誤鋸齒狀數組只是數組的數組,讓你在兩個步驟做:

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

或者在同一行:

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