26 lines
529 B
C#
26 lines
529 B
C#
|
|
namespace Sai.Toolkit.Core.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();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|