using System;
namespace AnticipatingMinds.Genesis.CodeDOM{
/// <summary>
/// Represents an interface declaration.
/// </summary>
/// <remarks>
/// An interface defines a contract. A class or struct that implements an interface must
/// adhere to its contract. An interface may inherit from multiple base interfaces, and a class
/// or struct may implement multiple interfaces. Interfaces can contain methods, properties,
/// events, and indexers. The interface itself does not provide
/// implementations for the members that it defines. The interface merely specifies the members that
/// must be supplied by classes or interfaces that implement the interface.
/// (ECMA 334. Page 283, Line 1)
/// </remarks>
[Serializable]
public class CodeInterfaceDeclaration : CodeTypeDeclaration
{
/// <summary>
/// Initializes new instance of the <see cref="CodeInterfaceDeclaration"/> class.
/// </summary>
public CodeInterfaceDeclaration():base()
{
}
/// <summary>
/// Gets collection of base interfacses for the declared interface.
/// </summary>
public CodeTypeReferenceCollection Interfaces
{
get
{
return baseInterfaces;
}
}
/// <summary>
/// Gets collection of declared interface members.
/// </summary>
public CodeTypeMemberDeclarationCollection Members
{
get
{
return members;
}
}
#region Private instance fields
private CodeTypeReferenceCollection baseInterfaces = new CodeTypeReferenceCollection ();
private CodeTypeMemberDeclarationCollection members = new CodeTypeMemberDeclarationCollection();
#endregion Private instance fields
}
}
|