Files
ShrlAlgoToolkit/ShrlAlgoToolkit.RevitAddins/RvIndependent/MetroGauges/LandXMLData/ComparableStructure.cs
2025-04-24 20:56:44 +08:00

28 lines
759 B
C#

using ShrlAlgoToolkit.RevitAddins.RvIndependent.MetroGauges.LandXMLData.Interfaces;
namespace ShrlAlgoToolkit.RevitAddins.RvIndependent.MetroGauges.LandXMLData
{
public abstract class ComparableStructure<T> : IComparableStructure<T>
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();
}
}
}