Is it always necessary to follow the sealed
keyword with override
in the signature of a method like the below code:
public sealed override string Method1(){.....}
I mean, if I want to "seal" the method within the base class without overriding, is the override
keyword still necessary?
Sealing a method only makes sense if you override it.
What happens here is the following:
You are overriding a method from a base class (override
) and tell the compiler that classes derived from your class are no longer allowed to override this method (sealed
).
If the method is a new one declared by you in your class and you want to prevent derived classes from overriding it, simply don't declare it as virtual.
If the method is declared in a base class but is not overridable sealing it wouldn't make any sense, because it already can't be overriden.