تعداد ویدئو | 32 |
---|---|
زمان دوره | 01:31:35 |
مترجم | پرووید |
ناظر ترجمه | پرووید |
دوبلر | پرووید |
ناظر دوبلاژ | پرووید |
سایت منتشر کننده | پلورال سایت |
آموزش درخت های عبارت (Expression Trees) در سی شارپ یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی، آموزش درخت های عبارت (Expression Trees) در سی شارپ 10 است که با نام اصلی Expression Trees in C# 10 از شرکت Pluralsight منتشر شده است.
به بیان ساده expression tree کد را در یک ساختار داده ای درخت مانند نشان می دهند، به طوری که هر گره یک عبارت یا expression است. یک expression می تواند یک فراخوانی متد یا method call و یا یک عملیات باینری مانند x < y باشد. میتوانید کدهایی را که با expression tree نشان داده شدهاند کامپایل و اجرا کنید. این قابلیت امکان ایجاد تغییرات به صورت پویا بر روی کدهای در حال اجرا شدن، اجرای کوئری های LINQ در پایگاه داده های مختلف و همچنین ایجاد پرس و جوهای پویا را فراهم می کند. expression tree همچنین در محیط اجرا زبان پویا و یا dynamic language runtime که آن آن DLR نیز می گویند به منظور ایجاد قابلیت همکاری و یا interoperability بین زبانهای پویا و محیط دات نت و همچنین فعال کردن کامپایلرها برای انتشار expression tree به جای زبان میانی مایکروسافت (MSIL) استفاده میشوند. می توانید از کامپایلر سی شارپ یا ویژوال بیسیک به منظور ساختن یک expression tree بر اساس یک anonymous lambda expression استفاده کنید. ضمناً، می توانید expression tree را به صورت دستی با استفاده از فضای نام System.Linq.Expressions ایجاد کنید.
هنگامی که یک lambda expression به متغیری از نوع Expression انتساب داده می شود، کامپایلر کدی را برای ساخت یک expression tree که بیانگر آن lambda expression خاص است را منتشر می کند. کامپایلر سی شارپ می تواند expression tree ها را فقط از expression lambda ها ( و یا lambda های تک خطی) تولید کند. به عبارت دیگر، کامپایلر نمی تواند statement lambda (یا lambda های چند خطی) را parse کند. مثال زیر نشان میدهند که چگونه میتوان از کامپایلر سی شارپ برای ساختن یک expression tree که بیانگر یک lambda expression برای عبارت num => num < 5 است استفاده کرد.
Expression<>> lambda = num => num < 5;
باید بدانید که expression tree باید تغییر ناپذیر و یا immutable باشد. این بدان معنی است که اگر می خواهید یک expression tree را تغییر دهید، باید یک expression tree جدید را با کپی کردن expression tree موجود و جایگزینی node ها در آن بسازید. می توانید از بازدیدکننده درخت عبارت و یا expression tree visitor برای پیمایش کردن expression tree موجود استفاده کنید.
می توانید از نوع داده ای Expression و متد Compile آن به منظور کامپایل کردن یک expression tree به درون یک executable delegate استفاده کنید. مثال کد زیر نحوه کامپایل یک expression tree و اجرای کد حاصل شده را نشان می دهد.
// Creating an expression tree.
Expression < Func < int,
bool >> expr = num =>num < 5;
// Compiling the expression tree into a delegate.
Func < int,
bool > result = expr.Compile();
// Invoking the delegate and writing the result to the console.
Console.WriteLine(result(4)); // Prints True.
// You can also use simplified syntax
// to compile and run an expression tree.
// The following line can replace two previous statements.
Console.WriteLine(expr.Compile()(4)); // Also prints True.
فصل اول: مقدمه دوره آموزشی
فصل دوم: بررسی ماهیت Expression Tree ها
فصل سوم: کار کردن با Expression Tree ها در سی شارپ
فصل چهارم: سفارشی سازی کردن Expression Tree ها
تمامی حقوقی مادی و معنوی متعلق به گروه آموزشی پرووید است.
نقد و بررسیها
هیچ دیدگاهی برای این محصول نوشته نشده است.