C# “No suitable method found to override.” — but there is one

Your code as given (after the edit) compiles fine, so something else is wrong that isn’t in what you posted.

Some things to check, is everything public? That includes both the class and the method.

Overload with different parameters?

Are you sure that Base is the class you think it is? I.e. is there another class by the same name that it’s actually referencing?

Edit:

To answer the question in your comment, you can’t override a method with different parameters, nor is there a need to. You can create a new method (with the new parameter) without the override keyword and it will work just fine.

If your intention is to prohibit calling of the base method without the parameter you can mark the method as protected instead of public. That way it can only be called from classes that inherit from Base

Leave a Comment