private CodeMultidimensionalArrayCreateExpression(CodeTypeReference createType, int rank,
                                                   IEnumerable <CodeExpression> sizeExpressions, CodeArrayInitializerExpression initializerExpression)
 {
     CreateType = createType;
     Rank       = rank;
     SizeExpressions.AddRange(sizeExpressions);
     InitializerExpression = initializerExpression;
 }
 /// <summary>
 /// Array with explicit size and initialization
 /// </summary>
 /// <param name="createType"></param>
 /// <param name="sizeExpressions"></param>
 /// <param name="initializerExpression"></param>
 public CodeMultidimensionalArrayCreateExpression(CodeTypeReference createType,
                                                  IEnumerable <CodeExpression> sizeExpressions, CodeArrayInitializerExpression initializerExpression)
     : this(createType, 0, sizeExpressions, initializerExpression)
 {
 }
 /// <summary>
 /// Array with implicit size and initialization
 /// </summary>
 /// <param name="createType"></param>
 /// <param name="rank"></param>
 /// <param name="initializerExpression"></param>
 public CodeMultidimensionalArrayCreateExpression(CodeTypeReference createType,
                                                  int rank, CodeArrayInitializerExpression initializerExpression)
     : this(createType, rank, new CodeExpression[] { }, initializerExpression)
 {
 }