Extension method in C# provides a way to add our own method
to class without inheriting it.
All we have to do to create extension method is to create
our own static method and put ‘this’ keyword in front of first argument type of
the method(the type that will be extended).
Example
Creating static method and using this keyword in front of int
as it will be extended.
public static int factorial(this int x)
{
if
(x <= 1)
return
1;
else
if (x == 2)
return
2;
else
return
x * factorial(x - 1);
}
now when we use int variable
method it will be shown in list.

private void btnFact_Click(object
sender, EventArgs e)
{
int
i;
i = Convert.ToInt32(txtNum.Text);
//using
factorial() method.
MessageBox.Show("Factorial is: " +
i.factorial().ToString());
}
