اکشن (Action) در سی شارپ
1399-06-19

اکشن (Action) در سی شارپ، راهی برای خواناتر شدن کدها

موارد استفاده ی Action در سی شارپ

همانطور که می دانیم زبان سی شارپ یک زبان شی گرایی بسیار قدرتمند است و برای مفاهیم شی گرایی بسیار ارزش و اهمیت قائل می شود. یکی از این ارزش ها اهمیت مفهوم کپسوله سازی است که قبلا در مطلب آموزش Delegate راجب این موضوع اشاراتی کردیم.

میتوان Actionها را اینطور مطرح کرد که Action ها به کمک برنامه نویسانی آمدند که دوست دارند کدهای خواناتر به عبارتی کدهای expressive تر(رسا تر) بنویسند که در آموزش سی شارپ تا حدی زیادی راجب تمیز نوشتن کد ها بحث کرده ایم اما در این مطلب میخواهیم بیشتر به این مورد بپردازیم و نقش Action در برنامه نویسی سی شارپ را برای شما شرح دهیم.

میدانیم که Action ها از زیر ساخت Delegate ها استفاده می کنند و در حقیقت یک Delegate است و بسیار مرتب برای یکسری حالات روتین کارآمد است و نیازی به ایجاد Delegate نیست. مگر زمانیکه قصد داشته باشید سناریویی کاملا متفاوت پیاده سازی کنید (مثل کار باEvent Handler ها و رویداد). در واقع Action ها PreBuilt Delegate (نماینده Delegate) هستند.
 
نکته ی بسیار مهم این است که Actionها مقداری را بر نمی گردانند. به عبارت دیگر یک Action می‌تواند برای متد هایی که دارای مقدار بازگشتی void هستند، مورد استفاده قرار گیرد.

آموزش سی شارپ

مایکروسافت Action ها را در 2 حالت ارائه کرده است :

  1. زمانی که متد/متدها شما اصلا ورودی ندارند.
  2. زمانی که متد/متدها شما دارای آرگومان های ورودی متفاوتی باشد.

حالت دوم بسیار جالب و کاربردی است زیرا این حالت یک Action<TypeSafe> از نوع جنریک است. این نوع از Action دارای 16 Overload است که میتواند ورودی های متد شما باشد !

نحوه استفاده ازAction :

  • میتوان یک دلیگیت Action را با استفاده از کلمه کلیدی new و یا با استفاده از یک متد مقداردهی اولیه کرد.
  • میتوان از متدهای بی نام همراه دلیگیت Action استفاده نمود. 
  • میتوان به همراه دلیگیت Action از عبارتهای لامبدا نیز استفاده نمود.

مزایای استفاده از Action

مزایای استفاده از دلیگیت های Action و به شرح زیر است :

  • تعریف سریع و آسان یک delegate
  • کوتاه کردن کد نویسی

آکادمی آنلاین درسمن برای یادگیری هرچه بهتر شما عزیزان و همچنین علاقه مندان به دیدن آموزش های ویدئویی، دوره ای را تهیه کرده است که در آن مباحث دلیگیت ها به طور کامل و مفصل شرح داده شده است و در این دوره شما می توانید آموزش سی شارپ پیشرفته را با سر فصل و مطالب کامل و جامع بیاموزید.

مقالات مرتبط

تفاوت dp و px در برنامه نویسی اندروید

واحد های اندازه گیری اندروید
زهرا چگینی
10

به نظر شما تفاوت dp و px در برنامه نویسی اندروید، این دو واحد اندازه گیری چیست؟ پس ما را همراهی کنید.

delegate چیست؟

Delegate ها چرا به زبان سی شارپ اضافه شدند؟
مرضیه فتاحی
15

delegate چیست؟ چه کاربردی دارد؟ چگونه و در چه موقعیت هایی باید ازآنها استفاده کرد؟ با ما همراه شوید تا تمامی این سوال ها دریابید.

اکشن (Action) در سی شارپ، راهی برای خواناتر شدن کدها

موارد استفاده ی Action در سی شارپ
زهرا چگینی
10

Action در سی شارپ از پایه و اساس Delegate ها استفاده میکند، درحقیقت همان Delegate های هستند که کار را برای ما راحت تر میکنند.

Extension method درسی شارپ، راهی برای کارایی بالا در کدها

اکستنشن (extension) درسی شارپ
مرضیه فتاحی
10

هدف ما دانستن نکات مهمextension method در سی شارپ، نحوه استفاده و همچنین کاربرد آن در کدنویسی است. پس با ما همراه شوید.

لیست کامل تگ های html که هیچ کس به شما نخواهد گفت

آشنایی با تگ های html
زهرا چگینی
15

تگ ها در html نقش مهمی دارند زیرا تمامی کارهای html با تگ انجام می‌شود. به همین دلیل ما یک لیست کامل از تگ‌های html برای شما آماده کرده‌ایم تا از آن استفاده کنید.

ویژگی های جدید asp.net core که حیرت برنامه نویسان را برانگیخت

معرفی ویژگی های جدید asp.net core از مایکروسافت
مرضیه فتاحی
10

ویژگی های جدید asp.net core چیست؟ مایکروسافت در این نسخه چه امکاناتی را برای برنامه نویسانش قرار داده است. اگر شما هم خواهان دانستن این مطالب هستید، ما را همراهی کنید.