using System;
namespace AnticipatingMinds.Genesis.CodeDOM{
/// <summary>
/// Represents an expression that initializes array elements.
/// </summary>
/// <remarks>
/// This class represents an array element initialization expressions.
/// It allows to initialize arays, arrays of arrays and multidimensional arrays.
/// In case of single-dimentinal array <see cref="Initializers"/> represent a collection of
/// expressions that initialize array. In case of multi-dimentional array, Initializers of contain
/// CodeArrayInitializerExpression instances for each array element.
/// In case of arrays of arrays initializer contains a CreateArray expression as its members for each
/// element.
/// private int[] a = {1,2,3};
/// private int[] b = new int[3] {1,2,3};
/// private int[,]c = {{1,1},{2,2},{3,3}};
/// private int[][]d = {new int[2] {1,1}, new int[2] {2,2},new int[2] {3,3}};
///</remarks>
[Serializable()]
public class CodeArrayInitializerExpression : CodeExpression
{
#region Instance constructors
/// <summary>
/// Initializes new instance of <see cref="CodeArrayInitializerExpression"/> class.
/// </summary>
public CodeArrayInitializerExpression():base(){}
#endregion Instance constructors
#region Public instance properties
/// <summary>
/// Gets the initializers with which to initialize the array.
/// </summary>
/// <remarks>Note that in case of multi-dimentinal arrays Initializers contains
/// CodeArrayInitializerExpression class instances as its membres.
/// </remarks>
public CodeExpressionCollection Initializers
{
get
{
return initializers;
}
}
#endregion Public instance properties
#region Private instance fields
private CodeExpressionCollection initializers = new CodeExpressionCollection();
#endregion Private instance fields
}
}
|