PDA

View Full Version : سوال: ایجاد آرگومان های اختیاری



mehran788
شنبه 26 دی 1394, 06:53 صبح
سلام. خسته نباشید
آیا میشه به توابع موجود در کلاس ها یا هر تابع دیگه ای آرگومان اختیاری داد؟
مثلا تو خود ویژوال استودیو SQLCommand که می خوای تعریف کنی هم می تونی آرگومان ندی و هم می تونی یکی بدی و هم دوتا. این حالت ها رو چطور می شه برای تابع تعریف کرد. ممنون

CsharpNevisi
شنبه 26 دی 1394, 07:08 صبح
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// آرگومان اختیازی
public string ReturnValue(string name, string family, string nationalCode = null)
{
if (nationalCode == null)
return name + " " + family;
return name + " " + family + " " + nationalCode;
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// با اورو لود که حرفه ای تره
public string ReturnValueWithOverLoad(string name, string family)
{
return name + " " + family;
}
public string ReturnValueWithOverLoad(string name, string family, string nationalCode)
{
return name + " " + family + " " + nationalCode;
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(ReturnValue("Mohsen", "Fathi"));
MessageBox.Show(ReturnValue("Mohsen", "Fathi","0123456789"));


MessageBox.Show(ReturnValueWithOverLoad("Mohsen", "Fathi"));
MessageBox.Show(ReturnValueWithOverLoad("Mohsen", "Fathi", "0123456789"));
}




اون توابعی که موقع نمونه سازی از یه کلاس نمایش داده میشن متد سازنده نام دارن که با OverLoad ساخته شده .. !!!!

mehran788
شنبه 26 دی 1394, 07:16 صبح
خیلی ممنون از راهنمایت. برام مفید بود
ولی اینجوری لازم دارم که وقتی تابع رو فراخوانی می کنی هم بتونی اینجوری وارد کنی:
Add("mehran");
و هم اینجوری:
Add(6);
آیا میشه اینجوری؟

CsharpNevisi
شنبه 26 دی 1394, 07:32 صبح
خب یه تابع با وروردی int ویه تا بع با وروردی string
public object GetValue(int Val)
{
return Val;
}
public object GetValue(string Val)
{
return Val;
}


یا اصلا فراترش






public static class CustomValue
{
public static List<object> Vals = new List<object>();
public static void AddValue(object Val)
{
Vals.Add(Val);
}
}


private void button1_Click(object sender, EventArgs e)
{
CustomValue.AddValue("www.wenda.ir");

CustomValue.AddValue(6);

CustomValue.AddValue(true);


OpenFileDialog dlg = new OpenFileDialog();
CustomValue.AddValue(dlg);


Form1 frm = new Form1();
CustomValue.AddValue(frm);
}

mehran788
یک شنبه 27 دی 1394, 09:14 صبح
خیلی ممنون. کد دوم خیلی به دردم خورد