using System; using System.Collections.Generic; namespace Netron.Diagramming.Core { /// /// Describes the CollectionBase collection. /// /// public interface ICollectionBase : ICollection, IList { #region Events /// /// Occurs when the collection is cleared. /// event EventHandler OnClear; /// /// Occurs when an item is added to the collection. /// event EventHandler> OnItemAdded; /// /// Occurs when en item is removed from the collection. /// event EventHandler> OnItemRemoved; #endregion #region Properties #endregion #region Methods /// /// Adds the range of items to the collection. /// /// The items. void AddRange(CollectionBase items); /// /// Copies this instance. /// /// CollectionBase Copy(); /// /// Creates a deep copy of this instance. /// /// CollectionBase DeepCopy(); /// /// Uses the given predicate to test the existence of a certain item in the collection. /// /// The predicate. /// bool Exists(Predicate predicate); /// /// Finds the specified predicate. /// /// The predicate. /// T Find(Predicate predicate); /// /// Uses the given Action to act on the collection items /// /// The action. void ForEach(Action action); ICollection RemoveAll(Predicate predicate); /// /// Converts the collection to an array. /// /// T[] ToArray(); /// /// Specific copy/paste utility function. /// /// System.IO.MemoryStream ToStream(); /// /// Returns a string representation of the collection. /// /// The format. /// The format provider. /// string ToString(string format, IFormatProvider formatProvider); /// /// Returns a string representation of the collection. /// /// string ToString(); /// /// Checks, using the given predicate, whether a certain property is true for all items in the collection. /// /// The predicate. /// bool TrueForAll(Predicate predicate); #endregion } }