Let us suppose i have these three methods defined:
int F1(int, int);
int F1(float, float);
Float F1(int, int);
and i am calling method F1 h
class Program
{
static void Main(string[] args)
{
Add(3, 4,3);
}
public static void Add(int FN, int SN)
{
Console.WriteLine("Total is {0}", FN + SN);
}
public static void Add(int FN, int SN, int TN)
{
Console.WriteLine("Total is {0}", FN + SN + TN);
}
}
Method overloading and Function overloading terms are used interchangeably. Method overloading allows a class to have multiple methods with the same name. But with different signature. C# functions can be overloaded based on the number, type(int, float etc) and kind(Value, ref or out) of parameters. Signature of the method does not include return type and params modifier. So, It is not possible to overload a function based on return type and params modifier.