using System;
namespace AnticipatingMinds.Genesis.CodeDOM{
/// <summary>
/// Represents a variable name and initialization expression.
/// </summary>
/// <remarks>Declaration of variables, fields or events usually are grouped into lists.
/// In C# variable declaration is represented as Type VariableName = InitializationExpression, [VariableName = InitializationExpression] ;.
/// CodeVariableDeclarationMember represents a pair - VariableName = InitializationExpression and is used with
/// variable, field and event declaration classes to represent list of declarants.
/// </remarks>
[Serializable()]
public class CodeVariableDeclarationMember : CodeElement
{
#region Instance constructors
/// <summary>
/// Initializes new instance of <see cref="CodeVariableDeclarationMember"/> class.
/// </summary>
public CodeVariableDeclarationMember(): this(string.Empty,null)
{
}
public CodeVariableDeclarationMember(string name) : this(name,null)
{
}
public CodeVariableDeclarationMember(string name, CodeExpression initializer)
{
Name = name;
Initializer = initializer;
}
#endregion Instance constructors
#region Public instance properties
/// <summary>
/// Gets or sets declared variable, field or event name
/// </summary>
public string Name
{
get
{
return name;
}
set
{
name = (value == null ? string.Empty:value);
}
}
/// <summary>
/// Gets or sets an initialization expression for declared variable, field or event.
/// </summary>
/// <remarks>
/// If Initializer value is null it means that the code does not explicitly
/// assigns value to the declared variable. Different languages may have different rules for default values in this case.
/// </remarks>
public CodeExpression Initializer
{
get
{
return initializer;
}
set
{
initializer = value;
}
}
#endregion Public instance properties
#region Private instance fields
private string name;
private CodeExpression initializer;
#endregion Private instance fields
}
}
|