Did you know.... Generic Methods

Did you know that you can call a generic method with out supplying the type argument.  The C# compiler will fill in the type parameter for you at compile time since the language is strongly typed.

 
static void MyMethod<S>(S myParam)

{   

    Console.WriteLine(typeof(S).ToString());     

    Console.WriteLine(myParam.GetType().ToString()); 

}

static void Main(string[] args) {     
    int a1 = 5;     
    object a2 = 5;      

    MyMethod(a1);    
    MyMethod(a2);

}  /* //Outputs:  System.Int32 System.Int32 System.Object System.Int32 */