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
In your class:
public override bool Equals(object obj)
{
throw new System.NotImplementedException();
}
public override int GetHashCode()
{
throw new System.NotImplementedException();
}
This means that if they don't override it the function will fail by exception. This forces them to override it to get it to work.
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
}