PDA

View Full Version : مبتدی: override



barnamenevisy
یک شنبه 18 مهر 1389, 10:27 صبح
سلام یه چندتا سوال درمورد کلاس هایcontrols داشتم:

1. می خوام ببینم چه جوری میشه به کلاس های فرم مثلا کلاس باتون برای ovarrid کردن اونا دسترسی داشت.(می خوام همی کدای کلاس رو داشته باشم)
2.میشه رویداد ها رو به شکلی عوض کرد که مقدار برگردونن.

jalalx
یک شنبه 18 مهر 1389, 12:22 عصر
در جواب سوال یک باید بگم اگه منظورتون دیدن سورسی هست که برای کلاس های فرم و باتون نوشته شده باید بگم باید از ابزارهایی مثل Reflector استفاده کنید. در ضمن شما فقط می تونید اعضایی از کلاس رو override کنید که به طور virtual اعلان شده باشن!

در جواب سوال دوم باید بگم بله! شما می تونید رویداد هایی رو تعریف کنید که مقداری رو برگردونن! ولی این کار بدرد نمی خوره!!! چون مقدار بازگشتی رو نمی تونید توی خود توابعی که بعد از اجرای اون، اجرا می شن استفاده کنید! پس کار بیهوده ایه!
شما می تونید از الگویی که خود مایکروسافت پیشنهاد داده استفاده کنید.
بدینن شکل که شما به جای استفاده از کلاس EventArgs از یه کلاس دیگه مثل MyEventArgs استفاده کنید و توی اون Property های مورد نظرتونو قرار بدید.
نکته: مایکروسافت توصیه می کنه که کلاس مورد نظرتونو از کلاس EventArgs مشتق بگیرید!