Я хочу создать подкласс HashSet<Point>
, чтобы он использовал HashSet<Point>.CreateSetComparer()
как IEqualityComparer
всякий раз, когда я использую его внутри другого набора.
В основном каждый раз, когда я делаю это:
var myDict = new Dictionary<MySubclassOfHashSet, Char>();
Я хочу, чтобы он автоматически рассматривался как:
var myDict = new Dictionary<HashSet<Point>, Char>(HashSet<Point>.CreateSetComparer());
В соответствии с этим вопросом.
В настоящее время я сделал это вручную следующим образом:
class MySubclassOfHashSet: HashSet<Point> {
public override bool Equals(object obj) {
//...
}
public override int GetHashCode() {
//...
}
}
Но как-то некрасиво. Есть ли более простой способ, который мне не хватает?