A variable of the type Int32 won’t be threated as Int32 if we cast it to ‘Object’ before passing to the overloaded methods below:
public static void MethodName(int a) { Console.WriteLine('int'); } public static void MethodName(object a) { Console.ReadLine(); }
To handle it as an Int32 even if it is cast to ‘Object’ can be achieved through reflection:
public static void MethodName(object a) { if(a.GetType() == typeof(int)) { Console.WriteLine('int'); } else { Console.ReadLine(); } }
Is there another way to do that? Maybe using Generics?
1 Answer