برگزیده های پرشین تولز

یه چیزی مثل EventArgs[]

nsh

Registered User
تاریخ عضویت
19 ژانویه 2006
نوشته‌ها
685
لایک‌ها
4
محل سکونت
i & j : 2 & 3
من دارم یک دفترچه تلفن طراحی میکنم (پروژه پایان ترم) حالا یک متد دارم برای add کردن افراد جدید به دفترچه منتها من نمیخوام موقعی که کاربر داره مشخصات رو وارد میکنه اونو محدود کنم که مثلا فقط نام و یک شماره بده (البته این دوتا ضروریها شه) بلکه مثلا از اول بتونه 10 تا شماره تلفن وارد کنه .حالا اینا رو چه طوری میتونم به متدم پاس کنم (در حقیقت پارامترهام دائم متغیره چه از نظر تعداد و چه از نظر نوع واگه بخوام دائم این متد رو overload کنم تعداد حالاتی که ممکنه اتفاق میافته سر به بی نهایت میزنه و سخت میشه :()فکر میکنم یه جورایی یه چیزی مثل EventArgs[] ها خوب باشه اما چه طوری میتونم پیاده سازی کنم ؟ لطفا کمکم کنید

ممنون

در ضمن دارم تو C# برنامه رو مینویسم
 

amin_lili

کاربر تازه وارد
تاریخ عضویت
24 آپریل 2007
نوشته‌ها
532
لایک‌ها
2
سن
43
محل سکونت
ای کاش آنجا ...
میشه از اون بی نهایت حالت ممکن مثلا 5،6 تا رو مثال بزنی ببینیم متد تو چیا می خواد ؟ اصلا توی فرم برنامه ات چه داده هایی از کاربر می گیری ؟
 

nsh

Registered User
تاریخ عضویت
19 ژانویه 2006
نوشته‌ها
685
لایک‌ها
4
محل سکونت
i & j : 2 & 3
مثلا نوع تلفن میتونه fax -mobile home work - email - website باشه و هر کدوم از اینا میتونه هر چند تا که کاربر میخواد باشه. متد من باید هر تلفن رو با نوعش بگیره بنابراین میتونم تعداد حالات زیادی داشته باشم. پیشنهاد ؟
 

H_R

مدیر بازنشسته
تاریخ عضویت
30 مارس 2005
نوشته‌ها
3,298
لایک‌ها
17
سن
42
محل سکونت
North Pole
از کاما استفاده کن ! یک استرینگ برای شماره تلفن ها که با کاما لز هم جدا شدند همینطوری هم تا استورد پروسیجر اسکیوال است ببرش اونجا آنالیزش کن و سیوش کن .
 

nsh

Registered User
تاریخ عضویت
19 ژانویه 2006
نوشته‌ها
685
لایک‌ها
4
محل سکونت
i & j : 2 & 3
از کاما استفاده کن ! یک استرینگ برای شماره تلفن ها که با کاما لز هم جدا شدند همینطوری هم تا استورد پروسیجر اسکیوال است ببرش اونجا آنالیزش کن و سیوش کن .
دستت درد نکنه اما :

1- من با SQL کارنمیکنم ( استادمون این طور خواسته علاوه بر این نباید ساختار فایل هم داشته باشه فقط حافظه )
2- من علاوه بر شماره تلفن نوعشم میخوام بفرستم
3- نوع تلفن و تلفن دو تا ابجکت متفاوتند بنابراین نمیخوام به صورت سترینگ باشه

بازم ممنون
 

Amirpooyan

Registered User
تاریخ عضویت
23 ژوئن 2006
نوشته‌ها
631
لایک‌ها
20
محل سکونت
Tehran
من دارم یک دفترچه تلفن طراحی میکنم (پروژه پایان ترم) حالا یک متد دارم برای add کردن افراد جدید به دفترچه منتها من نمیخوام موقعی که کاربر داره مشخصات رو وارد میکنه اونو محدود کنم که مثلا فقط نام و یک شماره بده (البته این دوتا ضروریها شه) بلکه مثلا از اول بتونه 10 تا شماره تلفن وارد کنه .حالا اینا رو چه طوری میتونم به متدم پاس کنم (در حقیقت پارامترهام دائم متغیره چه از نظر تعداد و چه از نظر نوع واگه بخوام دائم این متد رو overload کنم تعداد حالاتی که ممکنه اتفاق میافته سر به بی نهایت میزنه و سخت میشه :()فکر میکنم یه جورایی یه چیزی مثل EventArgs[] ها خوب باشه اما چه طوری میتونم پیاده سازی کنم ؟ لطفا کمکم کنید

ممنون

در ضمن دارم تو C# برنامه رو مینویسم

شما اگر نگاهي به كلمه كليدي Params در #C مي انداختيد، جواب سوالتون رو ميگرفتيد. بطور مثال ميشه يه متد رو به صورت زير تعريف كرد:
کد:
public int Add(params int[] list)
{
  int sum = 0;
  foreach (int i in list)
    sum += i;
  return sum;
}

بعد به صورت هاي زير ميشه فراخواني كرد:
کد:
int ans1 = Add(1);

int ans2 = Add(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

int ans3 = Add(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 });

int ans4 = Add();

مثال MSDN در اين مورد: http://msdn.microsoft.com/en-us/library/w5zay9db(VS.71).aspx
 

nsh

Registered User
تاریخ عضویت
19 ژانویه 2006
نوشته‌ها
685
لایک‌ها
4
محل سکونت
i & j : 2 & 3
ممنون از جوابت. اما کاشکی همون نزدیک 2 سال پیش که یاد نداشتمش اینو گفته بودی
 

Amirpooyan

Registered User
تاریخ عضویت
23 ژوئن 2006
نوشته‌ها
631
لایک‌ها
20
محل سکونت
Tehran
چند روز پيش يه تاپيك جديد زدم توي قسمت دات نت و يه سوال پرسيدم كه بعدش چشمم خورد به چند تا تاپيك كه توي همون صفحه بود كه چند تاشون رو جواب دادم. راستش من به تاريخشون دقت نكردم ولي به ذهنم هم نمي رسيد كه بعد از اين همه وقت (15-01-2008) هنوز تو صفحه اول باشه!!! :blink: من فكر ميكردم اينجا اكتيو تر از اين باشه. :(
 

nsh

Registered User
تاریخ عضویت
19 ژانویه 2006
نوشته‌ها
685
لایک‌ها
4
محل سکونت
i & j : 2 & 3
نه كلا اينجا آن اكتيوه. خودتم داري ميبيني كه سوالي به اين آسوني چقدر طول كشيده تا جواب داده بشه ( در حالي كه حداكثر به ايه نفر با 1 يا 2 سال سابقه احتياج داره). به هر حال دستت درد نكنه
 
بالا