آموزش Event ها، Delegate ها و Lambda Expression ها در سی شارپ

تعداد ویدئو 45
زمان دوره 03:11:31
مترجم مرتضی گیتی
دوبلر مرتضی گیتی
سایت منتشر کننده پلورال سایت

آموزش ویدئویی Event ها، Delegate ها، Lambda Expression در سی شارپ یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی Event ها، Delegate ها، Lambda Expression ها در سی شارپ است که با نام اصلی C# Events, Delegates and Lambdas از شرکت Pluralsight منتشر شده است.

Event ها در سی شارپ

در زبان برنامه نویسی سی شارپ رویداد ها و یا event ها در واقع اتفاقاتی هستند که توسط کاربر و یا عوامل دیگر ایجاد می شوند. برخی از رویدادهای که توسط کاربر رخ می دهند فشار داده شدن یک دکمه از صفحه کیبورد، کلید شدن موس و یا حتی حرکت کردن آن است. ایجاد شدن یک رویداد و یا event به برخی از قسمتهای سیستم که علاقه‌مند به مطلع شدن از رخ دادن آن event می باشند اعلان و یا اصطلاحاً notification ارسال می شوند و پس از آن برنامه ها می توانند در پاسخ به رویدادی که رخ داده اند کار دیگری را انجام بدهند.

کدی که در قسمت زیر مشخص شده است نحوه تعریف کردن یک event ساده در یک کلاس را نشان می دهد. همانطور که در کد زیر می بینید باید برای event تعریف شده از delegate استفاده کنید.


public delegate string BoilerLogHandler(string str);

پس از این می توانید به راحتی این event را با استفاده از کلمه کلیدی event ایجاد کنید. این موضوع در کد زیر نشان داده شده است.


event BoilerLogHandler BoilerEventLog;

در کد بالا یک delegate و یک event    ایجاد شده اند. با رخ دادن و یا اصطلاحاً raise شدن آن event به سادگی delegate مورد نظر اجرا می شود. کد زیر نیز نحوه استفاده کردن از همین موضوع را نشان می‌دهد.


using System;

namespace SampleApp {
  public delegate string MyDel(string str);
	
  class EventProgram {
   event MyDel MyEvent;
 
   public EventProgram() {
     this.MyEvent += new MyDel(this.WelcomeUser);
   }
   public string WelcomeUser(string username) {
     return "Welcome " + username;
   }
   static void Main(string[] args) {
     EventProgram obj1 = new EventProgram();
     string result = obj1.MyEvent("ProVid.ir");
     Console.WriteLine(result);
   }
  }
}

خروجی این کد شبیه به قسمت زیر خواهد بود.

 
Welcome ProVid.ir

Delegate ها در سی شارپ

در زبان برنامه نویسی سی شارپ delegate ها شبیه به pointer هایی به توابع و یا function ها در زبانهای سی و سی پلاس پلاس هستند. به عبارت دیگر، یک delegate یک reference type است که می‌تواند یک reference و یا ارجاع به یک متد و یا یک تابع را در خود قرار بدهد. این ارجاع و یا reference در زمان اجرا شدن برنامه و یا همان runtime می‌تواند تغییر کند. با استفاده از delegate میتوانیم آن متد موردنظر را به سادگی اجرا کنیم. کاربرد اصلی delegate در استفاده کردن آنها برای پیاده سازی event ها می باشد. از delegate برای تعریف کردن call-back method ها در استفاده از event ها استفاده می شود. تمامی event ها از یک کلاس به نام System.Delegate ارث بری می‌کنند.

event

Lambda Expression ها در سی شارپ

به بیان ساده lambda expression ها یک روش بسیار سریع و آسان برای تعریف کردن توابع بی‌ نام و یا اصطلاحاً anonymous function ها می باشند. با استفاده از این روش به سادگی می توان یک متد را در یک متغیر قرار داد و یا به عنوان پارامتر ورودی یک متد دیگر لحاظ نمود. بسیاری از متدهای LINQ با lambda expression ها کار می کنند. برای تعریف کردن lambda expression و از علامت => استفاده می‌کنیم. کاربرد اصلی lambda expression ها در استفاده کردن از آنها در کنار event ها و delegate ها معنا پیدا می‌کند. ضمناً توصیه می کنیم که از آموزش رایگان لامبدا اکسپرشن Lambda Expression در سی شارپ نیز دیدن کنید.

سرفصل مطالب آموزش ویدئویی Event ها و Delegate ها و Lambda Expression ها در سی شارپ

فصل اول: نقش Event ها و Delegate و Event Handler ها

  • مقدمه دوره
  • مقدمه فصل
  • نقش Event ها
  • نقش Delegate
  • نقش Event Handler ها
  • آموزش عملی: Event ها و Delegate و Event Handler ها بصورت عملی
  • جمع بندی

فصل دوم: ایجاد کردن Delegate ها و Event ها و EventArg ها

  • مقدمه
  • ایجاد کردن یک Delegate
  • آموزش عملی: ایجاد کردن یک Delegate سفارشی
  • آموزش عملی: افزودن چندین Delegate به Invocation List
  • آموزش عملی: بازگرداندن یک Value با استفاده از Delegate
  • تعریف یک Event
  • آموزش عملی: تعریف Event ها
  • اجرا کردن Event ها
  • آموزش عملی: اجرا کردن Event ها
  • ایجاد کلاس EventArgs
  • آموزش عملی: ایجاد یک کلاس EventArgs
  • جمع بندی

فصل سوم: مدیریت کردن Event ها

  • مقدمه
  • همانند سازی Delegate و رسیدگی به Event ها
  • آموزش عملی: همانند سازی Delegate و رسیدگی به Event ها
  • بررسی استفاده از Delegate Inference
  • آموزش عملی: استفاده از Delegate Inference
  • استفاده کردن از Anonymous Method ها
  • آموزش عملی: استفاده کردن از Anonymous Method ها
  • جمع بندی

فصل چهارم: استفاده کز دن از Lambdas و Action و Func

  • مقدمه
  • بررسی Lambda ها و Delegate
  • آموزش عملی: شروع به کار با Lambda ها
  • آموزش عملی: استفاده از Lambda با استفاده از Delegate های سفارشی
  • استفاده کردن از Action
  • آموزش عملی: استفاده کردن از Action
  • استفاده کردن از Func<t,tresult></t,tresult>
  • آموزش عملی: استفاده کردن از Func<t,tresult></t,tresult>
  • آموزش عملی: استفاده کردن از Lambdas و Func<t,tresult> برای Query Object ها</t,tresult>
  • جمع بندی

فصل پنجم: Event ها و Delegate ها بصورت عملی

  • مقدمه
  • برقراری ارتباط بین Component ها با Events و Delegates
  • معایت استفاده از Asynchronous Delegate ها
  • مزیت های استفاده از Asynchronous Delegate ها
  • استفاده از BackgroundWorker Event ها
  • نقش Delegate ها با استفاده از Thread ها
  • ترکیب همه موارد آموزش داده شده باهم
  • جمع بندی

نقد و بررسی‌ها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین کسی باشید که دیدگاهی می نویسد “آموزش Event ها، Delegate ها و Lambda Expression ها در سی شارپ”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دسته های محصولات

افزودن به سبد خرید