using System.Collections.Generic; namespace JD.TeaBoxAddinSystem.Addins.Description { /// /// Extension point collection. /// internal class ExtensionPointCollection : AddinObjectKeyedCollection { #region Inner Types private class ExtensionPointPathEqualityComparer : IEqualityComparer { #region IEqualityComparer Members public bool Equals(string x, string y) { x = ExtensionPoint.NormalizePath(x); y = ExtensionPoint.NormalizePath(y); return x == y; } public int GetHashCode(string obj) { return ExtensionPoint.NormalizePath(obj).GetHashCode(); } #endregion } #endregion #region Constructor internal ExtensionPointCollection(Module owner) : base(owner, new ExtensionPointPathEqualityComparer()) { } #endregion #region Methods /// /// Overriden. /// /// /// protected override string GetKeyForItem(ExtensionPoint item) { System.Diagnostics.Debug.Assert(!string.IsNullOrEmpty(item.Path)); return item.Path; } #endregion } }