PDA

View Full Version : سوال: کاربرد پارامتر بودن یک تابع برای تابع دیگر چیست؟



vahid.bz
پنج شنبه 17 اردیبهشت 1388, 16:47 عصر
سلام
لطفاً ابتدا مفهوم بعد مثال
تشکر

حامد مصافی
پنج شنبه 17 اردیبهشت 1388, 18:02 عصر
ابتدا شما منظورتان را واضح بیان کنید.

prankster
پنج شنبه 17 اردیبهشت 1388, 18:22 عصر
اکثرا با مفهوم callback درگیر است!
به صورت خلاصه callback یعنی اجرا شدن متدی بعد از انجام عملی خاص.
مثلا فرض کنید من برنامه ای نوشته ام که یک پروسه زمان بر است مثل انجام یک عمل گرافیکی روی فرم، شما می خواهید بعد از اینکه این پروسه کامل اجرا شد قسمت های بعدی برنامه تان انجام شود. خیلی ساده من در متدی که برنامه ام را فراخوانی می کند "متدی" را به عنوان پارامتر دریافت می کنم و آن را هنگامی که متد خودم کاملا انجام شد اجرا می کنم. در برنامه نویسی OO به این عمل تعریف callback می گویند.
در event model زبان #C با تعریف delegate و register کردن یک متد برای event عملا همین عمل را انجام می دهید.
این کد را بارها دیده اید:


button1.Click += newEventHandler(button1_Click);

در اینجا متد button1_Click را register کرده و به عنوان callback برای Button ارسال میکنیم، هنگامی که Button عمل click را انجام می دهد متد button1_Click را فرا خوانی می کند

vahid.bz
پنج شنبه 17 اردیبهشت 1388, 18:55 عصر
داشتم کاربرد delegate رو می خوندم که که یکیش این بود که یه تابع پارامتریه تابع دیگه باشه
حالا می خواستم کاربرد اینو بدونم