View Full Version : صدا زدن یک متد داخل رویداد کلیک شیئ دیگر
elahe1364
شنبه 12 بهمن 1387, 12:22 عصر
سلام
من می دونم برای اینکه بخوام رویداد یک شی رو توی رویداد شیئ دیگری صدا بزنم باید از این دستور استفاده کنم
button.Click += new System.EventHandler(button2_Click);
حالا من میخوام به جای رویداد button2_Click ، متدی که خودم نوشتم و تعدادی پارامتر هم بهش پاس دادم صدا بزنم.
odiseh
شنبه 12 بهمن 1387, 14:20 عصر
سلام
بازم همین میشه چون EventHandler در حقیقت یک delegate هست که پارامتر ورودیش اسم یک روتین میشه.
unique1984
یک شنبه 13 بهمن 1387, 01:58 صبح
سلام
بازم همین میشه چون EventHandler در حقیقت یک delegate هست که پارامتر ورودیش اسم یک روتین میشه.
نه این نمیشه . فرض کنید شما یه متدی با نام showform نوشتید که در اون متد یه فرم رو میسازین و نشونش میدین . حالا اگه به جای button2_click اسم این متدو بنویسی ارور میده.
راه دیگه ای نیست؟؟
farzin.fz
یک شنبه 13 بهمن 1387, 02:12 صبح
با توجه به اینکه delegate ها همون pointer ها هستند وعمده تفاوتشان در Type Safe بودن آنها است ، لذا نمی توانیم هر متدی را با هر نوع Signature به Delegate نسبت دهیم و حتما باید Signature آن با Delegate یکی باشد در نهایت برای این منظور می بایست متد دلخواه خود را با Signature مورد نظر Delegate تعریف کنیم .
elahe1364
یک شنبه 13 بهمن 1387, 10:03 صبح
ببخشید من با delegate کار نکردم.
میشه لطف کنید یه مثال بزنید.
odiseh
یک شنبه 13 بهمن 1387, 10:43 صبح
در پاراف ارسالی من هم توجه به مقدار بازگشتی تابع و پارامتر ها و نوع اونها و هماهنگی با signature قابل پذیرش بوسیله اون delegate مستتر بود.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.