سلام
در خیلی از زبان های برنامه نویسی امکان داشتن چند متد یا تابع با نام یکسان وجود داره و سی شارپ هم جزو اون برنامه های برنامه نویسیه

شما تو سی شارپ در صورتی میتونید چند تابع هم نام ایجاد کنید (اصطلاحا overload کنید) که این دو شرط رو برقرار کنید:

1- نوع پارامترهای تابع متفاوت باشد

2- تعداد پارامترها متفاوت باشد

خود سی شارپ هم در خیلی موارد از overloading استفاده کرده مثلا شما با نوشتن messagebox.show( میتونید همه overload ها رو ببینید یعنی N عدد متد با پارامترهای مختلف ایجاد شده.

به تصویر توجه کنید:

[ATTACH=CONFIG]321[/ATTACH]
ریفرنس خارجی:

http://csharp.net-tutorials.com/classes/method-overloading/#.UIO6xlKYO_I

و یه مثال ساده:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

//SoftAfzar.net | Share Your Computer Science!//

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        #region توابع محاسبه فاکتریل

        /// <summary>
        /// این تابع فاکتریل
        /// یک عدد صحیح را محاسبه میکند
        /// منبع: سافت افزار! C#
        /// </summary>
        /// <param name="n"></param>
        /// <returns>Fact</returns>
        private long Fact(int n)
        {
            if (n == 0) return 1;
            else return n * Fact(n - 1);
        }


        private long Fact(long n)
        {
            if (n == 0) return 1;
            else return n * Fact(n - 1);
        }

        #endregion

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show(Fact(5).ToString());
        }

        
    }
}

[align=center][ATTACH=CONFIG]322[/ATTACH][/align]

[color=#FF0000]انتشار مطلب با ذکر منبع مانعی ندارد.[/color]
موفق باشید