That's correct. Extension methods require at least one parameter, marked with the this
modifier.
However, when invoking the extension method with a reference to the class you're extending, you wouldn't specify the parameter:
"foo".StringExtension();
Is equivalent to:
StringExtensions.StringExtension("foo");
Even if you don't actually use the parameter within your method, declaring it is necessary in order to use the syntax provided by extension methods.