Delegate ها در سی شارپ دقیقا کجا استفاده میشن ؟

سوال

من Syntax و مثال های مربوط به دلیگیت رو توی اینترنت و ویدئو های آموزشی و کتاب سی شارپ هم دیدم

چیزی که تقریبا متوجه شدم همون Pointer ها در C++/C هست و مثل یک نماینده برای توابع (متد ها) عمل میکنه , Delegate ها میتونند یک لیستی از توابع در خودش داشته باشه و به جای صدا زدن مستقیم توابع از اونها استفاده کنیم .

 

اما مشکل اینه که متوجه نمیشم که اگر توی سی شارپ ما Delegate نداشتیم چه مشکلی پیدا میکردیم , یا مثال کاربردی و واقعی اون رو ندیدم ,

چی میشه اگه به جای این کار , میتونیم کد نویسی تمیز داشته باشیم و توابع مون رو توی یک کلاس مشخص داشته باشیم و همون ها رو صدا بزنیم !

 

چون با اینکه دارم روی یک برنامه حسابداری کار مکینم جایی نیاز به همچین چیزی پیدا نکردم .

توی این مثال یک تابع داریم که عدد رو میگیره و ۱۰ تا بهش اضافه میکنه برمیگردونه , یکبار اون رو به عنوان Delegate پاس کردم , یکبار یک تابع دیگرو مستقیما بهش پاس کردم

بازم متوجه نشدم چه فایده ای داره ؟!

اگر امکانش هست لطفا به زبون خیلی ساده با یک مثال مفهموی از هدف اصلی دیلیگیت ها کمک کنه بتونم این موضوع رو متوجه بشم eli5 (Explain Like I’m Five)

باتشکر

0
nabiloo 2 ماه 0 پاسخ ها 38 دیده شده 0

ارسال یک پاسخ