//------------------------------------------------------------------------------ // // // [....] // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.CodeDom { using System.Diagnostics; using System; using Microsoft.Win32; using System.Collections; using System.Runtime.InteropServices; /// /// Represents /// an expression that creates an array. /// [ ClassInterface(ClassInterfaceType.AutoDispatch), ComVisible(true), Serializable, ] public class CodeArrayCreateExpression : CodeExpression { private CodeTypeReference createType; private CodeExpressionCollection initializers = new CodeExpressionCollection(); private CodeExpression sizeExpression; private int size = 0; /// /// /// Initializes a new instance of . /// /// public CodeArrayCreateExpression() { } /// /// /// Initializes a new instance of with the specified /// array type and initializers. /// /// public CodeArrayCreateExpression(CodeTypeReference createType, params CodeExpression[] initializers) { this.createType = createType; this.initializers.AddRange(initializers); } /// /// [To be supplied.] /// public CodeArrayCreateExpression(string createType, params CodeExpression[] initializers) { this.createType = new CodeTypeReference(createType); this.initializers.AddRange(initializers); } /// /// [To be supplied.] /// public CodeArrayCreateExpression(Type createType, params CodeExpression[] initializers) { this.createType = new CodeTypeReference(createType); this.initializers.AddRange(initializers); } /// /// /// Initializes a new instance of . with the specified array /// type and size. /// /// public CodeArrayCreateExpression(CodeTypeReference createType, int size) { this.createType = createType; this.size = size; } /// /// [To be supplied.] /// public CodeArrayCreateExpression(string createType, int size) { this.createType = new CodeTypeReference(createType); this.size = size; } /// /// [To be supplied.] /// public CodeArrayCreateExpression(Type createType, int size) { this.createType = new CodeTypeReference(createType); this.size = size; } /// /// /// Initializes a new instance of . with the specified array /// type and size. /// /// public CodeArrayCreateExpression(CodeTypeReference createType, CodeExpression size) { this.createType = createType; this.sizeExpression = size; } /// /// [To be supplied.] /// public CodeArrayCreateExpression(string createType, CodeExpression size) { this.createType = new CodeTypeReference(createType); this.sizeExpression = size; } /// /// [To be supplied.] /// public CodeArrayCreateExpression(Type createType, CodeExpression size) { this.createType = new CodeTypeReference(createType); this.sizeExpression = size; } /// /// /// Gets or sets /// the type of the array to create. /// /// public CodeTypeReference CreateType { get { if (createType == null) { createType = new CodeTypeReference(""); } return createType; } set { createType = value; } } /// /// /// Gets or sets /// the initializers to initialize the array with. /// /// public CodeExpressionCollection Initializers { get { return initializers; } } /// /// /// Gets or sets /// the size of the array. /// /// public int Size { get { return size; } set { size = value; } } /// /// Gets or sets the size of the array. /// public CodeExpression SizeExpression { get { return sizeExpression; } set { sizeExpression = value; } } } }