نمایش نتایج 1 تا 10 از 10

نام تاپیک: ایجاد متدی با تعداد پارامتر دلخواه

  1. #1
    کاربر دائمی آواتار mehdy.programmer
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    from Sanandaj lives in Tehran
    سن
    28
    پست
    254

    Post ایجاد متدی با تعداد پارامتر دلخواه

    با سلام خدمت اساتید و دوستان عزیز!

    همتون که با این کد آشنایی دارن:

    MessageBox.Show("string text","string Caption",MessageBoxButtons,MessageBoxIcon,MessageB oxDefaultButton,MessageBoxOptions...);

    متد show می تونه یه پارامتر بگیره یا هر چند تای دیگه!

    می خواستم بدونم چطور یه متدی بنویسیم که پارامتر هاش دلخواه(optional) باشه؟؟

    با تشکر

  2. #2

    نقل قول: ایجاد متدی با تعداد پارامتر دلخواه

    نقل قول نوشته شده توسط mehdy.programmer مشاهده تاپیک
    با سلام خدمت اساتید و دوستان عزیز!

    همتون که با این کد آشنایی دارن:

    MessageBox.Show("string text","string Caption",MessageBoxButtons,MessageBoxIcon,MessageB oxDefaultButton,MessageBoxOptions...);

    متد show می تونه یه پارامتر بگیره یا هر چند تای دیگه!

    می خواستم بدونم چطور یه متدی بنویسیم که پارامتر هاش دلخواه(optional) باشه؟؟

    با تشکر
    تو C#‎‎‎ شما می تونید چندین متد با نام های یکسان تعریف کنید،به شرط اینکه تعداد آرگومنت متفاوت یا نوع آرگومنتی که میگیرن متفاوت باشد،

  3. #3
    کاربر دائمی آواتار mehdy.programmer
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    from Sanandaj lives in Tehran
    سن
    28
    پست
    254

    نقل قول: ایجاد متدی با تعداد پارامتر دلخواه

    دستت درد نکنه!

    پس تمام متد های که تو C#‎ این طوری هستند در واقع چند متد متفاوت اند!!!
    یعنی فقط همین راه وجود داره؟

  4. #4

    نقل قول: ایجاد متدی با تعداد پارامتر دلخواه

    نقل قول نوشته شده توسط mehdy.programmer مشاهده تاپیک
    دستت درد نکنه!

    پس تمام متد های که تو C#‎ این طوری هستند در واقع چند متد متفاوت اند!!!
    یعنی فقط همین راه وجود داره؟
    تا جایی که بنده میدونم بله،منتهاش نه اینکه در همه این متد ها یک سری کد تکراری قرار بگیره،بلکه خود این متدها از یک متد private که باهاش هم کلاسه استفاده میکنن که کار اصلی رو اون انجام میده.

  5. #5
    کاربر دائمی آواتار hamed_hossani
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    بوشهر
    پست
    651

    نقل قول: ایجاد متدی با تعداد پارامتر دلخواه

    سلام
    شما یک کلاس تعریف کنید و متد های خود را با توجه به نیازتون در ان وارد کنید
    message("title","content");//2
    message("title","contetnt",icon);//3
    کامپوننتی که messageBox فارسی را دارد هم بر همین اساس نوشته شده!
    یعنی به وسیله کد form ساختن و درون ان label و button قرار دادن و براساس پارامتر متد اون فرم را تغییراتی می دهند.

  6. #6

    نقل قول: ایجاد متدی با تعداد پارامتر دلخواه

    نقل قول نوشته شده توسط mehdy.programmer مشاهده تاپیک
    با سلام خدمت اساتید و دوستان عزیز!

    همتون که با این کد آشنایی دارن:

    MessageBox.Show("string text","string Caption",MessageBoxButtons,MessageBoxIcon,MessageB oxDefaultButton,MessageBoxOptions...);

    متد show می تونه یه پارامتر بگیره یا هر چند تای دیگه!

    می خواستم بدونم چطور یه متدی بنویسیم که پارامتر هاش دلخواه(optional) باشه؟؟

    با تشکر
    به این حالت اصطلاحا میگن Overload؛ یعنی نوشتن یک متد با لیست پارامترهای مختلف که برنامه نویس به دلخواه یکی از اون حالتهارو انتخاب میکنه.
    بعنوان مثال همون متد Show از کلاس MessageBox رو نگاه کنید، پرانتز باز رو که بعد Show بزارید یه راهنما میاد که نوشه "1of 21" یعنی این متد به 21 حالت مختلف نوشته شده که با زدن کلید "جهت پایین" می تونید تمام حالتها رو بررسی و انتخاب کنید.

    موفق باشید

  7. #7

    نقل قول: ایجاد متدی با تعداد پارامتر دلخواه

    نقل قول نوشته شده توسط drstrike مشاهده تاپیک
    به این حالت اصطلاحا میگن Overload؛ یعنی نوشتن یک متد با لیست پارامترهای مختلف که برنامه نویس به دلخواه یکی از اون حالتهارو انتخاب میکنه.
    البته نوشتن یک متد نیست که صرفا پارامترهای مختلفی داشته باشه.
    نوشتن چند متد با نام یکسان است اما با تعداد و یا نوع پارامترهای متفاوت و یا حتی تفاوت در داشتن یا نداشتن مقدار بازگشتی و یا تفاوت در نوع مقدار بازگشتی از متد.

  8. #8

    نقل قول: ایجاد متدی با تعداد پارامتر دلخواه

    این بحث overload هست . وقتی بحث یک متد با تعداد پارامتر دلخواه پیش میاد همه ذهنشون میره سمت overloading . در صورتی که overloaind نوشتن چند متد با انواع مختلف پارامتر هاست که میتونه تعدادشون هم فرق کنه . برای نوشتن فقط یک متد (و نه چند متد) با تعداد پارامتر دلخواه از کلمه کلیدی params استفاده می کنیم . به این صورت یک آرایه تعریف میشه که کاربر هرچی پارامتر بزنه میاد تو اون آرایه . مثال : متدی که هر تعداد عدد از نوع int را دریافت و مجموع آنها رو بر می گرداند .

            public int Sum(params int[] numbers)
    {
    int s = 0;
    for (int i = 0; i < numbers.Length; i++)
    {
    s += numbers[i];
    }
    return s;
    }


    حالا تو برنامه می تونیم اینطوری استفاده کنیم :

                int n = Sum(2, 3, 4, 5);
    MessageBox.Show(n.ToString());
    n = Sum(10, 11);
    MessageBox.Show(n.ToString());
    n = Sum(12, 13, 14, 15, 16, 17, 18, 19, 20);
    MessageBox.Show(n.ToString());


    از این روش بیشتر برای ساخت برنامه های سیستمی مثل کامپایلر ها استفاده میشه .

  9. #9
    کاربر دائمی آواتار mehdy.programmer
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    from Sanandaj lives in Tehran
    سن
    28
    پست
    254

    نقل قول: ایجاد متدی با تعداد پارامتر دلخواه

    دست همتون درد نکنه! خیلی جواب های خوبی بود!
    خصوصا این دو جواب که خیلی خوشم اومد ازش
    البته نوشتن یک متد نیست که صرفا پارامترهای مختلفی داشته باشه.
    نوشتن چند متد با نام یکسان است اما با تعداد و یا نوع پارامترهای متفاوت و یا حتی تفاوت در داشتن یا نداشتن مقدار بازگشتی و یا تفاوت در نوع مقدار بازگشتی از متد.
    و جواب:
    این بحث overload هست . وقتی بحث یک متد با تعداد پارامتر دلخواه پیش میاد همه ذهنشون میره سمت overloading . در صورتی که overloaind نوشتن چند متد با انواع مختلف پارامتر هاست که میتونه تعدادشون هم فرق کنه . برای نوشتن فقط یک متد (و نه چند متد) با تعداد پارامتر دلخواه از کلمه کلیدی params استفاده می کنیم . به این صورت یک آرایه تعریف میشه که کاربر هرچی پارامتر بزنه میاد تو اون آرایه . مثال : متدی که هر تعداد عدد از نوع int را دریافت و مجموع آنها رو بر می گرداند .

    1
    2
    3
    4
    5
    6
    7
    8
    9
    public int Sum(params int[] numbers)
    {
    int s = 0;
    for (int i = 0; i < numbers.Length; i++)
    {
    s += numbers[i];
    }
    return s;
    }


    حالا تو برنامه می تونیم اینطوری استفاده کنیم :

    1
    2
    3
    4
    5
    6
    int n = Sum(2, 3, 4, 5);
    MessageBox.Show(n.ToString());
    n = Sum(10, 11);
    MessageBox.Show(n.ToString());
    n = Sum(12, 13, 14, 15, 16, 17, 18, 19, 20);
    MessageBox.Show(n.ToString());


    از این روش بیشتر برای ساخت برنامه های سیستمی مثل کامپایلر ها استفاده میشه .

  10. #10

    نقل قول: ایجاد متدی با تعداد پارامتر دلخواه

    سلام
    به مبحث Named and Optional Arguments رجوع کنید.

    public void ExampleMethod(int required, string optionalstr = "default string",
    int optionalint = 10)

تاپیک های مشابه

  1. سوال: ایجاد تعداد ستونهای دلخواه در هر ردیف از Grid
    نوشته شده توسط Amiram در بخش C#‎‎
    پاسخ: 0
    آخرین پست: دوشنبه 23 خرداد 1390, 15:48 عصر
  2. سوال: ایجاد اشیا به تعداد دلخواه
    نوشته شده توسط root88 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 10
    آخرین پست: دوشنبه 16 فروردین 1389, 17:34 عصر
  3. ایجاد label به تعداد رکورد ها
    نوشته شده توسط هادی123 در بخش VB.NET
    پاسخ: 3
    آخرین پست: یک شنبه 22 مرداد 1385, 17:24 عصر
  4. پاسخ: 0
    آخرین پست: چهارشنبه 17 خرداد 1385, 08:05 صبح
  5. تعریف تابع با تعداد پارامتر ورودی نا معلوم و نوع نامعلوم
    نوشته شده توسط مهدی فهمیده غلامی در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: چهارشنبه 28 اردیبهشت 1384, 21:08 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •