آموزش توسعه Source Generator ها در سی شارپ 10

Developing Source Generators in C# 10
تعداد ویدئو 58
زمان دوره 03:50:29
مترجم مرتضی گیتی
ناظر ترجمه مرتضی گیتی
دوبلر مرتضی گیتی
ناظر دوبلاژ مرتضی گیتی
سایت منتشر کننده پلورال سایت

آموزش توسعه Source Generator ها در سی شارپ 10 یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی، آموزش توسعه دادن Source Generator ها در سی شارپ 10 است که با نام اصلی Developing Source Generators in C# 10 از شرکت Pluralsight منتشر شده است.

بررسی Source Generator ها

یک Source Generator کمک می کند تا بتوانید کدهایی را مازاد بر کدهایی که خودتان ایجاد کرده اید تولید کنید. قابلیت Source Generator ها بخشی از .NET Compiler Platform SDK می باشند. همانطور که گفته شد استفاده کردن از Source Generator ها به برنامه نویسان سی شارپ کمک میکند تا کدهای نوشته شده را در زمان کامپایل شدن مورد استفاده قرار داده و از آن ها برای ایجاد شدن کدهای بیشتر استفاده کنند. استفاده کردن از Source Generator ها کمک می کند تا فایلهای کد جدید در زمان کامپایل شدن کدهای نوشته شده توسط برنامه نویس ایجاد بگردند. این موضوع در زمان کامپایل شدن برنامه اتفاق می افتد. به عبارت دیگر، یک Source Generator کدهای نوشته شده توسط برنامه نویس را بررسی کرده و دقیقاً در زمان کامپایل شدن پروژه، کدهای جدید را تولید می کند. نهایتاً، کد های تولید شده در کنار کد های نوشته شده توسط برنامه نویس قرار گرفته و پروژه مورد نظر کامپایل می شود.

Developing Source Generators in C# 10 snapshot

یک Source Generator یک کامپوننت جدید است که برنامه نویس می تواند از آن به منظور بازیابی کردن یک compilation object که شامل تمامی کد های نوشته شده توسط برنامه نویس می باشد استفاده کند. با استفاده کردن از این object میتوانید با syntax model و semantic model مربوط به کدی که در حال کامپایل شدن است کار کنید. این موضوع دقيقاً در analyzer ها نیز اتفاق می افتد.

استفاده کردن از Source Generator ها کمک می کند تا بتوانید کد های مازاد را به عنوان ورودی به روال کامپایل شدن برنامه وارد کنید. این موضوع باعث می شود تا بتوانید کدهای نوشته شده توسط برنامه نویس را به همراه metadata هایی که کامپایلر در روال کامپایل کردن ایجاد می کند ترکیب کنید. پس از انجام این کار، کد های تولید شده در همان روال کامپایل یکسان که از قبل در حال اجرا شدن بوده است وارد و یا emit می شود.

اگر با Roslyn Analyzer ها آشنا هستید می توانید به Source Generator ها نیز شبیه به Roslyn Analyzer هایی فکر کنید که کدهای زبان سی شارپ را emit می کنند. روال تولید شدن کدها به عنوان فازی از روال compilation که در تصویر زیر نشان داده شده است اجرا می گردد. یک Source Generator در واقع یک اسمبلی ایجاد شده بر اساس .NET Standard است که توسط کامپایلر در کنار دیگر analyzer ها بارگذاری می شود.

بنابراین، امکان استفاده کردن از Source Generator ها در تمامی environment هایی که از کامپوننت های .NET Standard استفاده می کنند وجود دارد.

سرفصل مطالب آموزش ویدئویی توسعه Source Generator ها در سی شارپ 10

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

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

فصل دوم: بررسی کردن Source Generator ها در سی شارپ

  • مقدمه
  • یک Source Generator چیست؟
  • در این دوره آموزشی چه چیزی را فرا خواهید گرفت
  • بررسی پروژه مربوط به این دوره آموزشی
  • حل کردن چالش مربوط به پروژه با استفاده از رفلکشن
  • استفاده کردن از یک Source Generator
  • جمع بندی

فصل سوم: راه اندازی کردن یک Source Generator در سی شارپ

  • مقدمه
  • راه اندازی کردن محیط توسعه
  • اضافه کردن یک پروژه Source Generator
  • ایجاد کردن یک Source Generator
  • افزودن یک رفرنس به پروژه Source Generator
  • جمع بندی

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

  • مقدمه
  • بررسی کردن Syntax Tree مربوط به یک فایل سی شارپ
  • راه اندازی کردن Pipeline
  • استفاده کردن از Anonymous Function های Static
  • ایجاد کردن یک فایل کد
  • حذف کردن حافظه کش ویژوال استودیو
  • منتشر کردن و یا Emit کردن فایلهای کد تولید شده
  • جمع بندی

فصل پنجم: کار کردن با Syntax API

  • مقدمه
  • تولید کردن یک Partial Class
  • معرفی کردن Syntax API
  • دیباگ کردن Source Generator
  • به دست آوردن اطلاعات Namespace
  • پشتیبانی کردن از File-scoped Namespace ها
  • تولید کردن متد ToString
  • شکستن روان تولید کردن متد ToString به دو قسمت
  • نوشتن اطلاعات Member ها
  • چک کردن Access Modifier ها
  • بررسی کردن تولید شدن کدها به صورت زنده
  • جمع بندی

فصل ششم: اضافه کردن یک Marker Attribute

  • مقدمه
  • بررسی کردن کاربرد مربوط به یک Marker Attribute
  • ایجاد کردن Attribute مورد نظر
  • استفاده کردن از Attribute ایجاد شده بر روی کلاس
  • چک کردن Syntax Target
  • به دست آوردن Semantic Target
  • جمع بندی

فصل هفتم :استفاده کردن از Semantic Model

  • مقدمه
  • مشکل استفاده کردن از Attribute ها
  • بررسی Semantic Model
  • چک کردن حضور Attribute مورد نظر
  • یکی دیگر از کاربردهای Semantic Model
  • ایجاد کردن یک Model
  • استفاده کردن از Model ایجاد شده
  • پیمایش کردن Member ها
  • تجزیه و تحلیل کردن Performance
  • معرفی کردن عملکرد Cache
  • پیاده سازی کردن متد Equals بر روی Model ایجاد شده
  • استفاده کردن از Collect د ر Pipeline
  • جمع بندی

فصل هشتم: ایجاد کردن یک پکیج از Source Generator ایجاد شده

  • مقدمه
  • ایجاد کردن یک NuGet Package
  • استفاده کردن از NuGet Package ایجاد شده
  • جمع بندی
دسته های محصولات

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