I am writing an algorithm which requires the user to create his own class which inherits from a class defined by me. However, the algorithm requires the user to override the Equals and GetHashCode functions from the C# standard libraries.
Can I force the class inherited from my class to implement the GetHashCode and Equals functions?
public abstract int GetHashCode();
Writing this in my base class is not an option, as my base class inherits GetHashCode from it's parent, where it is implemented already.
This is what you're looking for. Since your class is abstract you can pretty much do this without any problem.
public abstract override int GetHashCode();
This despite of it derived from some other class, this makes your sub class must override this method.
You can create 2 new methods that will be abstract and will be called from GetHashCode
and Equals
your class.
Example:
public abstract ParentClass {
public abstract int MyGetHashCode();
public override int GetHashCode(){
return MyGetHashCode();
}
// same thing for Equals
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With