1 //------------------------------------------------------------------------------
2 // <copyright file="CodeArrayCreateExpression.cs" company="Microsoft">
4 // <OWNER>Microsoft</OWNER>
5 // Copyright (c) Microsoft Corporation. All rights reserved.
7 //------------------------------------------------------------------------------
9 namespace System.CodeDom {
11 using System.Diagnostics;
13 using Microsoft.Win32;
14 using System.Collections;
15 using System.Runtime.InteropServices;
19 /// an expression that creates an array.</para>
22 ClassInterface(ClassInterfaceType.AutoDispatch),
26 public class CodeArrayCreateExpression : CodeExpression {
27 private CodeTypeReference createType;
28 private CodeExpressionCollection initializers = new CodeExpressionCollection();
29 private CodeExpression sizeExpression;
34 /// Initializes a new instance of <see cref='System.CodeDom.CodeArrayCreateExpression'/>.
37 public CodeArrayCreateExpression() {
42 /// Initializes a new instance of <see cref='System.CodeDom.CodeArrayCreateExpression'/> with the specified
43 /// array type and initializers.
46 public CodeArrayCreateExpression(CodeTypeReference createType, params CodeExpression[] initializers) {
47 this.createType = createType;
48 this.initializers.AddRange(initializers);
52 /// <para>[To be supplied.]</para>
54 public CodeArrayCreateExpression(string createType, params CodeExpression[] initializers) {
55 this.createType = new CodeTypeReference(createType);
56 this.initializers.AddRange(initializers);
60 /// <para>[To be supplied.]</para>
62 public CodeArrayCreateExpression(Type createType, params CodeExpression[] initializers) {
63 this.createType = new CodeTypeReference(createType);
64 this.initializers.AddRange(initializers);
69 /// Initializes a new instance of <see cref='System.CodeDom.CodeArrayCreateExpression'/>. with the specified array
73 public CodeArrayCreateExpression(CodeTypeReference createType, int size) {
74 this.createType = createType;
79 /// <para>[To be supplied.]</para>
81 public CodeArrayCreateExpression(string createType, int size) {
82 this.createType = new CodeTypeReference(createType);
87 /// <para>[To be supplied.]</para>
89 public CodeArrayCreateExpression(Type createType, int size) {
90 this.createType = new CodeTypeReference(createType);
96 /// Initializes a new instance of <see cref='System.CodeDom.CodeArrayCreateExpression'/>. with the specified array
100 public CodeArrayCreateExpression(CodeTypeReference createType, CodeExpression size) {
101 this.createType = createType;
102 this.sizeExpression = size;
106 /// <para>[To be supplied.]</para>
108 public CodeArrayCreateExpression(string createType, CodeExpression size) {
109 this.createType = new CodeTypeReference(createType);
110 this.sizeExpression = size;
114 /// <para>[To be supplied.]</para>
116 public CodeArrayCreateExpression(Type createType, CodeExpression size) {
117 this.createType = new CodeTypeReference(createType);
118 this.sizeExpression = size;
124 /// the type of the array to create.
127 public CodeTypeReference CreateType {
129 if (createType == null) {
130 createType = new CodeTypeReference("");
142 /// the initializers to initialize the array with.
145 public CodeExpressionCollection Initializers {
154 /// the size of the array.
167 /// <para>Gets or sets the size of the array.</para>
169 public CodeExpression SizeExpression {
171 return sizeExpression;
174 sizeExpression = value;