//------------------------------------------------------------------------------
//
//
// [....]
// 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;
}
}
}
}