Extension methods enable adding new capabilities to an existing type. No modifications are needed to the existing type, just bringing the extension method into the scope and calling it like a regular instance method will serve the purpose. Extension methods have to be declared in a non-generic, non-nested static class.