using System;
using System.Diagnostics;
using System.Collections;
using System.Collections.Specialized;
namespace AnticipatingMinds.Genesis.CodeDOM{
/// <summary>
/// Represents a comment associated with a code element.
/// </summary>
[Serializable]
public class CodeComment : CodeElement
{
#region Nested Types
/// <summary>
/// Defines a style of the used comment.
/// </summary>
public enum CodeCommentStyle
{
/// <summary>
/// Single line coemment //...
/// </summary>
SingleLine,
/// <summary>
/// Multi line comment /* ... */
/// </summary>
Multiline,
/// <summary>
/// Documentation comment ///...
/// </summary>
Documentation
};
#endregion Nested Types
#region Instance constructors
/// <summary>
/// Creates a new instance of a comment class.
/// </summary>
public CodeComment() /*: this(string.Empty,CodeCommentStyle.SingleLine)*/
{
}
// /// <summary>
// /// Creates a new instance of a comment class. Initializes comment text and style with provided values.
// /// </summary>
// /// <param name="text">Comment text.</param>
// /// <param name="commentStyle">Comment style.</param>
// public CodeComment(string text, CodeCommentStyle commentStyle)
// {
// if(text == null)
// text = String.Empty;
// Text = text;
// this.commentStyle = commentStyle;
// }
#endregion Instance constructors
#region Public instance properties
/// <summary>
/// Gets or sets comment style.
/// </summary>
public CodeCommentStyle Style
{
get
{
return commentStyle;
}
set
{
commentStyle = value;
}
}
/// <summary>
/// Gets collection of comment lines.
/// </summary>
public StringCollection Lines
{
get
{
return lines;
}
}
#endregion Public instance properties
#region Private instance fields
private CodeCommentStyle commentStyle;
private StringCollection lines = new StringCollection();
#endregion Private instance fields
}
}
|