PDA

View Full Version : صدا زدن یک متد داخل رویداد کلیک شیئ دیگر



elahe1364
شنبه 12 بهمن 1387, 11:22 صبح
سلام
من می دونم برای اینکه بخوام رویداد یک شی رو توی رویداد شیئ دیگری صدا بزنم باید از این دستور استفاده کنم


button.Click += new System.EventHandler(button2_Click);

حالا من میخوام به جای رویداد button2_Click ، متدی که خودم نوشتم و تعدادی پارامتر هم بهش پاس دادم صدا بزنم.

odiseh
شنبه 12 بهمن 1387, 13:20 عصر
سلام
بازم همین میشه چون EventHandler در حقیقت یک delegate هست که پارامتر ورودیش اسم یک روتین میشه.

unique1984
یک شنبه 13 بهمن 1387, 00:58 صبح
سلام
بازم همین میشه چون EventHandler در حقیقت یک delegate هست که پارامتر ورودیش اسم یک روتین میشه.

نه این نمیشه . فرض کنید شما یه متدی با نام showform نوشتید که در اون متد یه فرم رو میسازین و نشونش میدین . حالا اگه به جای button2_click اسم این متدو بنویسی ارور میده.
راه دیگه ای نیست؟؟

farzin.fz
یک شنبه 13 بهمن 1387, 01:12 صبح
با توجه به اینکه delegate ها همون pointer ها هستند وعمده تفاوتشان در Type Safe بودن آنها است ، لذا نمی توانیم هر متدی را با هر نوع Signature به Delegate نسبت دهیم و حتما باید Signature آن با Delegate یکی باشد در نهایت برای این منظور می بایست متد دلخواه خود را با Signature مورد نظر Delegate تعریف کنیم .

elahe1364
یک شنبه 13 بهمن 1387, 09:03 صبح
ببخشید من با delegate کار نکردم.
میشه لطف کنید یه مثال بزنید.

odiseh
یک شنبه 13 بهمن 1387, 09:43 صبح
در پاراف ارسالی من هم توجه به مقدار بازگشتی تابع و پارامتر ها و نوع اونها و هماهنگی با signature قابل پذیرش بوسیله اون delegate مستتر بود.