عنوان:

‫تغییرات API بین پیش‌نمایش ۱ و پیش‌نمایش ۲ دات‌نت 10.0


نویسنده: وحید نصیری
تاریخ: ۱۴۰۳/۱۲/۲۱ ۰۸:۱۵
آدرس: www.dntips.ir
تغییرات API بین پیش‌نمایش ۱ و پیش‌نمایش ۲ دات‌نت 10.0 به شرح زیر است:

Microsoft.AspNetCore.App
    • Microsoft.AspNetCore.Components.Web: در کلاس NavLink، یک متد جدید با نام ShouldMatch اضافه شده است. این متد به توسعه‌دهندگان امکان می‌دهد تا منطق سفارشی برای تعیین اینکه آیا یک URI فعلی با یک لینک Nav مطابقت دارد یا خیر، پیاده‌سازی کنند. به عبارت ساده‌تر، این متد به شما کمک می‌کند تا تصمیم بگیرید که آیا یک لینک در نوار ناوبری باید فعال باشد یا خیر.
    • Microsoft.Extensions.Identity.Core: در کلاس UserLoginInfo، نام پارامتر displayName در کانستراکتور به providerDisplayName تغییر کرده است. این تغییر، نام پارامتر را دقیق‌تر می‌کند و نقش آن را در نمایش نام ارائه‌دهنده ورود به سیستم (login provider) مشخص می‌کند.

Microsoft.NETCore.App
    • System.Collections.Immutable: کلاس ImmutableCollectionsMarshal یک متد جدید با نام AsMemory اضافه کرده است. این متد به شما امکان می‌دهد تا یک ImmutableArray را به یک MemorySpan تبدیل کنید. این کار می‌تواند برای بهبود عملکرد در هنگام کار با داده‌های immutable مفید باشد.
    • System.Linq: کلاس‌های Enumerable، AsyncEnumerable و Queryable همگی یک متد جدید با نام Shuffle اضافه کرده‌اند. این متد به شما امکان می‌دهد تا ترتیب عناصر یک مجموعه را به صورت تصادفی تغییر دهید. این کار می‌تواند برای ایجاد داده‌های تصادفی یا برای جلوگیری از سوگیری در الگوریتم‌ها مفید باشد.
    • System.Numerics.Vectors: استراکت‌های Vector2 و Vector4 هر دو یک متد جدید با نام Cross اضافه کرده‌اند. این متد حاصل ضرب خارجی دو وکتور را محاسبه می‌کند. ضرب خارجی یک عمل ریاضی است که برای محاسبه بردار عمود بر دو بردار دیگر استفاده می‌شود.
    • System.Reflection.Metadata: استراکت‌های EventDefinition و PropertyDefinition هر دو یک متد جدید با نام GetDeclaringType اضافه کرده‌اند. این متد نوع declaring را برمی‌گرداند. این کار می‌تواند برای به دست آوردن اطلاعات بیشتر در مورد رویدادها و ویژگی‌ها مفید باشد.
    • کلاس TypeName یک متد جدید با نام Unescape اضافه کرده است که رشته‌های escaped را به رشته‌های معمولی تبدیل می‌کند، همچنین این کلاس دارای پراپرتی Namespace شده است. این تغییرات مدیریت نام انواع را آسان‌تر می‌کند.
    • System.Runtime: کلاس ConditionalWeakTable متدهای GetOrAdd را اضافه کرده است که به شما امکان می‌دهد مقادیر را به صورت اتمی (atomically) به جدول اضافه کنید. این کار می‌تواند برای بهبود عملکرد در برنامه‌های چند رشته‌ای (multi-threaded) مفید باشد.
    • سه استراکت جدید جنریک به نام های GCHandle، PinnedGCHandle و WeakGCHandle برای مدیریت حافظه نا امن اضافه شده است. این استراکت‌ها به توسعه‌دهندگان امکان می‌دهند تا حافظه نا امن را به روشی ایمن‌تر مدیریت کنند.
    • کلاس GCHandleExtensions برای توسعه قابلیت های PinnedGCHandle اضافه شده است.

Microsoft.WindowsDesktop.App
    • System.ComponentModel.Design: کلاس ArrayEditor متدهای GetItems و SetItems را تغییر داده است تا مقادیر nullable را بپذیرد. این تغییر به توسعه‌دهندگان امکان می‌دهد تا با آرایه‌هایی که ممکن است حاوی مقادیر نال باشند، کار کنند.
    • System.Windows.Forms: کلاس‌های Clipboard، DataObject و DataObjectExtensions همگی متدهای TryGetData را تغییر داده‌اند تا resolvers نال ایبل را بپذیرند. این تغییر به توسعه‌دهندگان امکان می‌دهد تا با داده‌هایی که ممکن است حاوی انواع نال باشند، کار کنند.




مشاهده مطلب اصلی