آموزش قابلیت های جدید سی شارپ 11

تعداد ویدئو 16
زمان دوره 00:38:15
مترجم پرووید
ناظر ترجمه پرووید
دوبلر پرووید
ناظر دوبلاژ پرووید
سایت منتشر کننده پلورال سایت

آموزش قابلیت های جدید سی شارپ 11 یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی، آموزش قابلیت های جدید Csharp 11 است که با نام اصلی Whats New in Csharp 11 از شرکت Pluralsight منتشر شده است.

قابلیت های زبان برنامه نویسی سی شارپ ۱۱

در نسخه یازدهم از زبان برنامه نویسی سی شارپ که امروزه یکی از محبوب ترین زبان های برنامه نویسی برای توسعه اپلیکیشن های مختلف می باشد، قابلیت های بسیار جذابی لحاظ گردیده اند. استفاده از این قابلیت ها می تواند قدرت کدنویسی برنامه نویس را ارتقا بدهد و حتی از حجم کدهای نوشته شده بکاهد. در قسمت زیر لیستی اجمالی از این قابلیت ها را قرار داده ایم و سپس به طور ویژه در رابطه با یکی از این قابلیت ها صحبت خواهیم کرد.

  • قابلیت Raw String Literal ها
  • قابلیت پشتبانی از Generic Math
  • قابلیت Generic attribute ها
  • قابلیت UTF-8 String Literal ها
  • قابلیت استفاده کردن از خطای جدید در String Interpolation ها
  • قابلیت List Pattern ها
  • قابلیت File-local type ها
  • قابلیت امکان ایجاد کردن Member های Required
  • قابلیت Auto-default Struct ها
  • قابلیت های جدید Nameof
  • قابلیت IntPtr عددی
  • قابلیت Ref Field ها و Scoped Ref ها
  • قابلیت های بهبود یافته تبدیل شدن Method Group ها به Delegate

Whats New in Csharp 11 Snapshot

در ادامه قصد داریم در مورد یکی از قابلیت های سی شارپ 11 یعنی attribute های جنریک کمی مفصل تر صحبت کنیم.

قابلیت استفاده کردن از Attribute های جنریک

در نسخه یازدهم از زبان برنامه نویسی سی شارپ امکان تعریف کردن یک کلاس جنریک که کلاس پدر و یا base class مربوط به آن از نوع System.Attribute باشد وجود دارد. این قابلیت جدید باعث می شود که روشی ساده تر با syntax ساده تری برای نوشتن attribute هایی که نیازمند یک پارامتر از نوع System.Type می باشند را داشته باشیم. در نسخههای قبلی زبان سی شارپ امکان این کار وجود نداشت و برای پیاده سازی کردن جنین موضوعی نیازمند ایجاد کردن یک attribute که یک type را به عنوان پارامتر تابع سازنده دریافت کند بودیم. کدی که در قسمت زیر مشاهده می کنید انجام چنین کاری را در نسخه های قبل تر از نسخه یازدهم نشان می دهد.


// Before C# 11:
public class TypeAttribute : Attribute
{
   public TypeAttribute(Type t) => ParamType = t;

   public Type ParamType { get; }
}

سپس برای اعمال کردن این attribute از عملگر typeof شبیه به کد زیر استفاده کنیم.


[TypeAttribute(typeof(string))]
public string Method() => default;

حال با استفاده از این قابلیت جدید در زبان برنامه برنامه نویسی سی شارپ ۱۱ می توانیم یک attribute را شبیه به کد زیر ایجاد
کنیم.


// C# 11 feature:
public class GenericAttribute : Attribute { }

سپس شبیه به کد زیر type parameter های مورد نظر برای استفاده شدن در attribute که ایجاد شده را لحاظ می کنیم.


[GenericAttribute()]
public string Method() => default;

یکی از نکات مهم مربوط به استفاده کردن از این روش این است که تمامی type parameter را در زمان اعمال کردن اطلاعات مورد نظر بایستی لحاظ بگردند. به عبارت دیگر، تایپ جنریک استفاده شده باید به صورت کامل ساخته بشود. در مثال بالا، جفت پرانتز های باز و بسته می توانند حذف بگردند چرا که این attribute هیچ آرگومانی ندارد.


public class GenericType
{
   [GenericAttribute()] // Not allowed! generic attributes must be fully constructed types.
   public string Method() => default;
}

نکته دیگر اینکه type argument ها می بایست به طور کامل محدودیت هایی که در استفاده کردن از عملگر typeof نیز وجود دارند اعمال می کنیم. استفاده کردن از type هایی که نیاز به metadata annotation ندارند امکان پذیر نمی باشد. به عنوان مثال، استفاده کردن از type های زیر به عنوان type parameter امکان پذیر نخواهد بود.


dynamic
string?
(int X, int Y)

این type ها به طور مستقیم در متادیتا نمایش داده نشدند به عبارت دیگر، آنها شامل annotation هایی هستند که type مورد نظر را توصیف می کند. در چنین شرایطی می توانید از type زیرین استفاده کنید. برای مثال، از object به جای dynamic و از string به جای string? و از ValueTuple<int, int> به جای (int X, int Y) استفاده کنید.

سرفصل مطالب آموزش ویدئویی قابلیت های جدید سی شارپ 11

فصل اول: مقدمه دوره آموزشی

  • مقدمه دوره آموزشی

فصل دوم: بهبود های کار کردن با رشته ها

  • خوش آمدگویی و راه اندازی محیط توسعه
  • کار کردن با Raw String Literal
  • کار کردن با Raw String Literal چند خطی
  • استفاده کردن از چندین خط کد در Interpolated String ها
  • استفاده کردن از String Literal های UTF-8

فصل سوم: کاربردهای Generic ها و Attribute ها

  • تعریف کردن اعضای Abstract و Static در Interface ها
  • بررسی قابلیت Generic Math Support
  • تعریف کردن Attribute های Generic
  • کاربردهای جدید Nameof

فصل چهارم: قابلیت های مربوط به Pattern

  • Matching و Method Group ها بررسی List Pattern ها
  • کار کردن با List Pattern ها به همراه String ها و Span ها
  • قابلیت های جدید در تبدیل کردن Method Group ها به Delegate

فصل پنجم: قابلیت های مربوط به Scoping و Type Member ها

  • کار کردن با Member های Required
  • کار کردن با File-local Type ها
  • کار کردن به Auto-default Struct ها

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

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

اولین کسی باشید که دیدگاهی می نویسد “آموزش قابلیت های جدید سی شارپ 11”

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

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

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