در نگارشهای اخیر داتنت، NET CLI. به همراه تغییرات قابل توجهی بودهاست که در این مطلب و نظرات آن، موارد مهم این تغییرات را بررسی خواهیم کرد. console logger بهبود یافتهی داتنت 8 یکی از تغییرات بسیار جالب توجه و مفید NET CLI. در داتنت 8، امکان دسترسی به خروجی لاگهای ساختار یافتهی اعمال خط فرمان آن است: اگر پروژهی خود را با استفاده از دستور dotnet build، کامپایل میکنید، خروجی پیشفرض این دستور خط فرمان، کلی و بدون ارا ...
اگر از آخرین نگارش Ubuntu استفاده میکنید، با توجه به همکاری مایکروسافت و شرکت پشتیبان آن، نصب داتنت به سادگی اجرای دستور زیر است: $ sudo apt update && sudo apt install -y dotnet-sdk-8.0
$ dotnet --version و اگر میخواهید بدانید که چه نگارشی از داتنت، بههمراه مخازن استاندارد Ubuntu است، دستور زیر را صادر کنید: $ apt search dotnet-sdk* که یک نمونه خروجی آن به صورت زیر است: $ apt search dotnet-sdk*
Sorting... Done
Full Text ...
در فضایی که همواره هیچ تضمینی وجود ندارد که درخواست ارسال شدهی به یک API، همواره مسیر خود را همانطور که انتظار میرود طی کرده و پاسخ مورد نظر را در اختیار ما قرار میدهد، بیشک تلاش مجدد برای پردازش درخواست مورد نظر، به دلیل خطاهای گذرا، یکی از راهکارهای مورد استفاده خواهد بود. تصور کنید قصد طراحی یک مجموعه API عمومی را دارید، بهنحوی که مصرف کنندگان بدون نگرانی از ایجاد خرابی یا تغییرات ناخواسته، امکان تلاش مجدد در سناریوهای مختلف مشکل ...
به C# 12 و داتنت 8، ویژگی « آزمایشی » جدیدی به نام Interceptors اضافه شدهاست که به آن «monkey patching» هم میگویند. هدف از آن، جایگزین کردن یک پیاده سازی، با پیاده سازی دیگری است. به این ترتیب توسعه دهندگان داتنتی میتوانند فراخوانی متدهایی خاص را رهگیری کرده (interception) و سپس آنرا به فراخوانی یک پیاده سازی جدید، هدایت کنند.
Interceptor چیست؟
از زمان ارائهی NET 8 preview 6 SDK. به بعد، امکان رهگیری هر مت ...
گاهی از اوقات ممکن است یک ویژگی تکمیل نشده، سر از نگارشهای release درآورد؛ چون نیاز به دریافت بازخوردی در این مورد وجود دارد و یا اینکه قرار است در طی چند مرحله تکمیل شود. برای اینکه یک چنین مسالهای خصوصا از طرف نویسندگان کتابخانهها و فریمورکها مشخص شود، ویژگی جدید System.Diagnostics.CodeAnalysis.ExperimentalAttribute به داتنت 8 اضافه شدهاست.
در این حالت اگر کدی، شروع به استفادهی از یک چنین عضوهای آزمایشی کند، یک خطای زما ...
قابلیتی تحت عنوان Primary Constructors به C# 12 اضافه شدهاست که ... البته جدید نیست! این قابلیت از زمان C# 9 ، با ارائهی رکوردها، به زبان #C اضافه شد و در طی چند نگارش بعدی، توسعه و تکامل یافت (برای مثال اضافه شدن records for structs به C# 10 ) تا در C# 12، به کلاسهای معمولی نیز تعمیم پیدا کرد. این ویژگی را در ادامه با جزئیات بیشتری بررسی میکنیم.
Primary Constructors چیست؟
Primary Constructors، قابلیتی است که ...
C# 12 به همراه روش جدیدی برای آغاز مجموعهها است که با آرایهها، Spanها و هر نوعی که آغازگرهای مجموعهها را بپذیرد، کار میکند. همچنین اپراتور جدیدی را هم به نام spread operator به صورت .. به زبان #C اضافه کردهاست که امکان سادهتر ترکیب مجموعهها را میسر میکند.
آغاز سادهتر مجموعهها با کمک Collection Expressions
تا پیش از C# 12 برای آغاز یک آرایه میتوان از روش زیر استفاده کرد که در آن نوع آرایه از طریق نوع اعضا ...
داتنت 8 به همراه بهبودهای قابل ملاحظهای در کارآیی برنامههای داتنتی است و در این بین تعدادی قابلیت جدید را نیز به زبان سیشارپ اضافه کردهاست. در این مطلب ویژگی جدید «Alias any type» آنرا بررسی میکنیم. پیشنیاز کار با این قابلیت تنها نصب SDK داتنت 8 است. امکان تعریف alias، قابلیت جدیدی نیست!
در نگارشهای پیشین زبان #C نیز میتوان برای نوعهای نامدار داتنت، alias/«نام مستعار» تعریف کرد؛ برای مثال: using MyConso ...
ASP.NET Core 8x به همراه یک IResult جدید بهنام RazorComponentResult است که توسط آن میتوان در Endpointهای Minimal-API و همچنین اکشن متدهای MVC، از کامپوننتهای Blazor، خروجی گرفت. این خروجی نه فقط static یا به عبارتی SSR، بلکه حتی میتواند تعاملی هم باشد. در این مطلب، جزئیات فعالسازی و استفاده از این IResult جدید را در یک برنامهی Minimal-API بررسی میکنیم.
ایجاد یک برنامهی Minimal-API جدید در دات نت 8
پروژهای ...
اگر پیشتر با فناوریهای مرتبط با خانوادهی ASP.NET کار کرده باشید، با مفاهیمی مانند ContentPlaceHolder در وبفرمها و یا RenderSection در ASP.NET MVC، برخورد داشتهاید. دقیقا یک چنین قابلیتی نیز به Blazor 8x تحت عنوان Sections اضافه شدهاست تا توسط آن بتوان محتوای قسمتی از قالب کلی صفحه را از طریق زیر کامپوننتهای آن تغییر داد و کنترل کرد.
کامپوننتهای جدید SectionOutlet و SectionContent در Blazor 8x
پیاده سازی ...