int MyMethod(int x)
float MyMethod(float x)
double MyMethod(double x, double y)
مثال زیر را در نظر بگیرید ، که دارای دو متد است که اعداد از نوع مختلف را اضافه می کند:
static int PlusMethodInt(int x, int y)
{
return x + y;
}
static double PlusMethodDouble(double x, double y)
{
return x + y;
}
static void Main(string[] args)
{
int myNum1 = PlusMethodInt(8, 5);
double myNum2 = PlusMethodDouble(4.3, 6.26);
Console.WriteLine("Int: " + myNum1);
Console.WriteLine("Double: " + myNum2);
}
به جای تعریف دو متد که باید همان کار را انجام دهند ، بهتر است یکی را overload کنید.
در مثال زیر ، متد PlusMethod را overload می کنیم تا برای int و double کار کند:
static int PlusMethod(int x, int y)
{
return x + y;
}
static double PlusMethod(double x, double y)
{
return x + y;
}
static void Main(string[] args)
{
int myNum1 = PlusMethod(8, 5);
double myNum2 = PlusMethod(4.3, 6.26);
Console.WriteLine("Int: " + myNum1);
Console.WriteLine("Double: " + myNum2);
}
توجه: چندین متد می توانند نام یکسانی داشته باشند به شرط آنکه تعداد و یا نوع پارامترها متفاوت باشد.