Sometimes there is a need to add customized/ user defined methods to existing datatypes.
If we write String s1 and then put a dot after s1, we get a list of methods pre-defined such as Aggregate<>, All<>, Average<> etc.
With extension methods, we can write out our own method that can be used with existing datatypes as an extension.


Step 1: Create a Console Application

Step 2: Create an ExtensionClass as

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
/* Class to display Extension Method */
namespace DeeptendraSpace
    public static class ExtensionClass
        //**********//Extension Method//**************//
        //Sample Extension Method 1
        public static string ShowMethod(this string val)
            return "Hello :" + val;
        public static void AddMethod(this int x, int y)
            Console.WriteLine(x + y);           

Step3: In main method, implement your datatype extension method in the following way:

class Program
        static void Main(string[] args)
            String msg = "Deep";
            Console.WriteLine("//********Extension Methods**********//");
            Console.WriteLine(msg.ShowMethod()); // Calling Extension Method1 msg.ShowMethod()
            int a, b;
            a = 1;
            b = 2;
            a.AddMethod(b); //Calling Extension Method2 a.AddMethod(b)


Clearly we can see that the string msg, and integer a are calling extension methods from the ExtensionClass.