Note: Extension methods are less discoverable and more limited in functionality than instance methods. For those reasons, it is recommended that extension methods be used sparingly and only in situations where instance methods are not feasible or possible.
Extension members of other kinds, such as properties, events, and operators, are being considered but are currently not supported.
Lets see the example:
public static class Extensions
public static int ToInt32(this string s)
static void Main(string args)
string strTest = "1";
Console.WriteLine(strTest.ToInt32()); //Will print 1
Now lets look close to the following statement
(this string s)
This means, method ToInt32 is applied to a variable which type is string.
So simple as that :)
Reand More on C# 3.0