To prevent a class from being inherited, precede its declaration with sealed. sealed class FooSealed {} class BaseClass { protected virtual void Bar() { /*...*/ } } class Derived : BaseClass { protected override sealed void Bar() { /* ... */ } }