强制子类通过父级覆盖祖先的功能

Aar*_*man 6 c# inheritance

我正在编写一个算法,要求用户创建自己的类,该类继承自我定义的类.但是,该算法要求用户覆盖C#标准库中的Equals和GetHashCode函数.

我可以强制从我的类继承的类来实现GetHashCode和Equals函数吗?

public abstract int GetHashCode();
Run Code Online (Sandbox Code Playgroud)

在我的基类中编写它不是一个选项,因为我的基类从它的父级继承GetHashCode,它已经实现了.

Sri*_*vel 12

这就是你要找的东西.由于你的课程是抽象的,你可以毫无问题地做到这一点.

public abstract override int GetHashCode();
Run Code Online (Sandbox Code Playgroud)

尽管它派生自其他一些类,但这使得您的子类必须覆盖此方法.