using System.Collections.Generic; namespace Chernobyl.DesignPatterns.Extension { /// /// An interface for working with instances that can be extended using the /// or /// type. Note that the type /// does not require a type to be an for it to be /// extended. But, it is still highly recommended that the extension add /// itself to the list of the instance when it is /// attaching to that instance and remove itself when it is detaching from /// that instance. /// public interface IExtendable { /// /// The list of or /// instances that have /// attached themselves to this instance. /// IList Extensions { get; } } }