• Method Overloading چیست؟
    #1
    Note 
    سلام
    در خیلی از زبان های برنامه نویسی امکان داشتن چند متد یا تابع با نام یکسان وجود داره و سی شارپ هم جزو اون برنامه های برنامه نویسیه

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

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

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

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

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

    [ATTACH=CONFIG]321[/ATTACH]
    ریفرنس خارجی:
    کد:
    http://csharp.net-tutorials.com/classes/method-overloading/#.UIO6xlKYO_I


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

    کد php:
    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 (
    == 0) return 1;
                else return 
    Fact(1);
            }


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

            
    #endregion

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

            
        }

    [ATTACH=CONFIG]322[/ATTACH]


    انتشار مطلب با ذکر منبع مانعی ندارد.
    موفق باشید

    پاسخ
    ایجاد موضوع جدید   پاسخ به موضوع  

    موضوعات مرتبط با این موضوع...
    موضوع نویسنده پاسخ بازدید آخرین ارسال
    Note partial method در #C taha 0 316 10-10-2013 ساعت 11:45
    آخرین ارسال: taha
    Note سوال Base64 چیست؟ The Arrow 1 1,036 27-09-2013 ساعت 14:15
    آخرین ارسال: THE KNIGHT
    Note سوال تفاوت public static و static public در چیست؟ The Arrow 1 516 22-09-2013 ساعت 15:24
    آخرین ارسال: Daniel
    Note سوال : مبنای تغییر ورژن یک برنامه یا یک کتابخانه در چیست؟ The Arrow 1 501 16-09-2013 ساعت 13:25
    آخرین ارسال: SAMAN ELITE
    Note تفاوت var با int در سی شارپ چیست؟ The Arrow 1 692 15-08-2013 ساعت 20:49
    آخرین ارسال: SOFTAFZAR
    Note سوال CheckForIllegalCrossThreadCalls چیست؟ سی شارپ The Arrow 1 712 02-08-2013 ساعت 20:25
    آخرین ارسال: Ali Developer
    Note تریگر چیست؟ +مثال و پروژه نمونه SOFTAFZAR 0 1,147 19-12-2012 ساعت 22:36
    آخرین ارسال: SOFTAFZAR

    کاربرانِ درحال بازدید از این موضوع:   1 مهمان