اشتراک‌ها
دات نت پایه، سی شارپ 8.0 و Nullable Reference Types

Here are some of the reasons why nullable reference types are less than ideal:

  • Invoking a member on a null value will issue a System.NullReferenceException exception, and every invocation that results in a System.NullReferenceException in production code is a bug. Unfortunately, however, with nullable reference types we “fall in” to doing the wrong thing rather than the right thing. The “fall in” action is to invoke a reference type without checking for null.
  • There’s an inconsistency between reference types and value types (following the introduction of Nullable<T>) in that value types are nullable when decorated with  “?” (for example, int? number); otherwise, they default to non-nullable. In contrast, reference types are nullable by default. This is “normal” to those of us who have been programming in C# for a long time, but if we could do it all over, we’d want the default for reference types to be non-nullable and the addition of a “?” to be an explicit way to allow nulls.
  • It’s not possible to run static flow analysis to check all paths regarding whether a value will be null before dereferencing it, or not. Consider, for example, if there were unmanaged code invocations, multi-threading, or null assignment/­replacement based on runtime conditions. (Not to mention whether analysis would include checking of all library APIs that are invoked.)
  • There’s no reasonable syntax to indicate that a reference type value of null is invalid for a particular declaration.
  • There’s no way to decorate parameters to not allow null. 
دات نت پایه، سی شارپ 8.0 و Nullable Reference Types
اشتراک‌ها
dotnet 8 منتشر شد

We are happy to announce the availability of .NET 8, the latest LTS version of one of the world’s leading development platforms, starting today. .NET 8 delivers thousands of performance, stability, and security improvements, as well as platform and tooling enhancements that help increase developer productivity and speed of innovation 

dotnet 8 منتشر شد
اشتراک‌ها
ASP.NET Core و سازمان‌ها

However, it is clear that Microsoft’s future direction is in the Core space . Yes, the last update to the full .NET framework did include improvements for ASP.NET and WebForms, but clearly the future innovation and hard work will be in the new core frameworks like .NET core, ASP.NET Core, Entity Framework core, and whatever other cores come along in the future. 

ASP.NET Core و سازمان‌ها
اشتراک‌ها
تزریق وابستگی (DI) در ASP.NET Core

I’ve been building some ASP.NET Core apps as of late and had to dig into how Dependency Injection works there. After talking with Julie Lerman a bit on Twitter about it, I realized that there might be some confusing things about how it works in ASP.NET Core, so I’m hoping I can add some clarity in this post. 

تزریق وابستگی (DI) در ASP.NET Core
اشتراک‌ها
لیست جلسات کنفرانس Build 2016

Microsoft continues to focus on enabling developers to do amazing work as businesses and industries transform in support of the shift to a cloud-first, mobile-first world. At Build 2016 we will present the latest tools and technologies and how they can help today's developers be their most creative and productive.  

لیست جلسات کنفرانس Build 2016
اشتراک‌ها
Rider 2021.1 منتشر شد

Rider 2021.1: Updates to Docker and C# Support, Scaffolding in ASP.NET, and More! 

Rider 2021.1 منتشر شد
اشتراک‌ها
Code::Blocks 20.03 منتشر شد

Finally, switch to wxWidgets 3.x, many improvements, new features, more stable, enhanced for HiDPI, the new Code::Blocks release 20.03 has arrived. Get it from the downloads section! A changelog summarises new features and fixes.

We provide binaries for the major platforms supported by Code::Blocks, with more to come in the next time. 

Code::Blocks 20.03 منتشر شد