using System; using System.Collections.Generic; namespace Lookup.Interface; /// /// Common interface for s, /// storing data as key-value pairs /// public interface ILookup { } /// /// Common interface for s, /// storing data as - pairs /// /// Type of the key referencing the s /// Type of the stored values, referenced by public interface ILookup : ILookup, IDictionary>, IDisposable { /// /// Adds a key to the /// /// /// The to add /// /// /// The new /// to store s in /// ICollection Add(TKey key); /// /// Adds a to an existing collection /// referenced by in the /// public void Add(TKey key, TValue value); /// /// Adds multiple s to /// an existing /// referenced by in /// the /// public void AddRange(TKey key, IEnumerable values); /// /// Removes a from /// an existing /// referenced by in /// the /// public bool Remove(TKey key, TValue value); /// /// Gets an existing referenced by /// or creates it, if it does not already exist /// /// /// The to add /// /// /// The to /// store s in /// public ICollection GetOrAdd(TKey key); }