Is there a way to block the calling of public method from abstract class inside a derived one? - C#