سلام!
امروز قصد دارم درمورد کلمه کلیدی delegate صحبت کنم.
تعریف وکیل (delegate) شبیه امضای متد است. یک مقدار برگشتی و هر تعداد پارامتر از هر نوع دارد:
public delegate void TestDelegate(string Message);
delegate یک نوع مرجع است که می تواند برای کپسوله کردن یک متد با نام یا بی نام استفاده شود. delegate ها شبیه اشاره گرها تابع در زبان برنامه نویسی ++c هستند.
نکات:
- delegate ها زیربنای event ها هستند.
- یک وکیل می تواند با انتسابش به یک متد با نام یا بی نام نمونه سازی شود.
- یک نماینده حتما باید با یک متد یا عبارت لامبدا که دارای نوع خروجی و پارامترهای ورودی سازگار است نمونه سازی شود. برای استفاده وکیل با متد بی نام، delegate و کد منتسب به آن، باهم تعریف می شوند.