عنوان:

‫کاربرد نماینده‌ها (Delegates) در سی‌شارپ


نویسنده: وحید نصیری
تاریخ: ۱۴۰۳/۱۲/۰۴ ۱۱:۰۸
آدرس: www.dntips.ir
نماینده‌ها در سی‌شارپ اشیایی هستند که ارجاعی به متدها را در خود نگه می‌دارند و امکان فراخوانی انعطاف‌پذیر و پویای متدها را فراهم می‌کنند. آن‌ها کاربردهای کلیدی متعددی دارند:

مدیریت رویدادها

  • رویدادها در سی‌شارپ بر اساس نماینده‌ها هستند و اجازه می‌دهند متدها هنگام وقوع یک رویداد فراخوانی شوند.
  • نماینده EventHandler معمولاً برای این منظور استفاده می‌شود.
  • مثال: رویداد Clicked یک دکمه، متدهای مشترک را فراخوانی می‌کند.

فراخوان‌های (Callbacks)

  • نماینده‌ها می‌توانند به عنوان آرگومان به متدها ارسال شوند و امکان انتخاب انعطاف‌پذیر عملیات را فراهم کنند.
  • مثال: یک متد Calculate یک نماینده را به عنوان آرگومان می‌پذیرد که نشان دهنده عملیات (جمع، تفریق و غیره) است.

مرتب‌سازی سفارشی

  • نماینده‌ها می‌توانند منطق مرتب‌سازی سفارشی را تعریف کنند.
  • مثال: مرتب‌سازی لیستی از رشته‌ها بر اساس طول آنها به جای ترتیب الفبایی.

الگوی زنجیره مسئولیت (Chain of Responsibility)

  • نماینده‌ها می‌توانند زنجیره‌ای از پردازشگرها برای یک درخواست را تشکیل دهند.
  • هر پردازشگر تصمیم می‌گیرد که آیا درخواست را پردازش کند یا آن را به پردازشگر بعدی ارسال کند.
  • مثال: زنجیره‌ای از پردازشگرها برای درخواست‌های با اولویت‌های مختلف.

برنامه‌نویسی تابعی

  • نماینده‌ها برای برنامه‌نویسی تابعی در سی‌شارپ ضروری هستند.
  • Func، Action و Predicate برای توابع مرتبه بالاتر و پرس و جوهای LINQ استفاده می‌شوند.
  • مثال: استفاده از یک نماینده با Where برای فیلتر کردن لیستی از اعداد.



مشاهده مطلب اصلی