namespace eNavigator.Models { public interface ISelectable { public bool Equals(ISelectable item); public int GetHashCode(); public String ToString(); public int GetIndex(); } public class Selectable : ISelectable { public int Index { get; set; } public String Name { get; set; } public bool Equals(ISelectable item) { return item.GetIndex().Equals(GetIndex()); } public override int GetHashCode() => Index.GetHashCode(); public int GetIndex() { return Index; } public override String ToString() { return Name; } } }