namespace Sai.Toolkit.Core.LandXMLData { public abstract class ComparableStructure : IComparableStructure where T : class { public abstract bool DifferentDescendants(T item); public abstract bool DifferentItem(T item); public bool Equals(T item) { return !ReferenceEquals(item, null) && !DifferentItem(item) && !DifferentDescendants(item); } public override bool Equals(object obj) { return Equals(obj as T); } public override int GetHashCode() { return base.GetHashCode(); } } }