Working with simple JSON objects and collections to Custom Converters and Transformations into .NET classes
Tag: csharp
C# standard goes open source!
“The C# standards committee moved its work into Open Source, enabling C# developers worldwide to participate in the standardization effort.”
Source: Announcing Open Source C# standardization | .NET Blog
Command Line Parser on .NET5
Alexandre Zollinger Chohfi (@AlexandreChohfi) writes:
If you are used to command-line apps, passing arguments to other apps is a very common task. Yes, you can manually parse those values, but once you have multiple parameters it can be a very error-prone code (which is mostly boilerplate anyway). This seems like a problem that someone else might have fixed already, right? So of course we can find a NuGet library that helps us parse these arguments.
TL;DR: https://github.com/commandlineparser/commandline/wiki
C# 9.0 on the record | .NET Blog
Mads Torgersen writes:
With every new version of C# we strive for greater clarity and simplicity in common coding scenarios, and C# 9.0 is no exception. One particular focus this time is supporting terse and immutable representation of data shapes.
Source: C# 9.0 on the record | .NET Blog
C# 9 Deep Dive: Records | Dave Brock
In the previous post of this series, Dave Brock discussed the init-only features of C# 9, which allowed us to make individual properties immutable. That works great on a case-by-case basis, but the real power in leveraging C# immutability is when we can do this for custom types. This is where records shine.
This is the second post in a five-post series on C# 9 features in-depth.
Blazor’s Future: gRPC Is Key
Blazor guru Steve Sanderson detailed what Microsoft is thinking about the future of the revolutionary project that enables .NET-based web development using C# instead of JavaScript, explaining how gRPC is key, along with a new way of testing and a scheme for installable desktop apps.
Source: Blazor’s Future: gRPC Is Key — Visual Studio Magazine
Embracing nullable reference types | .NET Blog
Probably the most impactful feature of C# 8.0 is Nullable Reference Types (NRTs). It lets you make the flow of nulls explicit in your code, and warns you when you don’t act according to intent. The NRT feature holds you to a higher standard on how you deal with nulls,
Asynchronous Programming Models in C#
Pattern | Description | Based On | Notes |
Thread based | By creating System .Threading .Thread instance |
Managed Thread | Expensive, not recommended |
Standard BeginXxx and EndXxx methods |
By calling BeginXxx method with a user callback; calling EndXxx inside that user callback |
Thread pool | Widely used, standard, recommended, support cancellation and continuation |
ThreadPool | By calling ThreadPool ’s static QueueUserWorkItem method |
Thread pool | Widely used, recommended use as much as possible |
Delegate | By calling Delegate’s BeginInvoke and EndInvoke instance methods |
Thread pool | Less used |
Event based | By subscribing to the appropriate event and calling the appropriate method | Thread pool | Avoid use as much as possible, not recommended |
Task based | By creating System .Threading .Tasks .Task instance |
A specified task scheduler | Recommended, supports all features of a thread pool pattern, and has many other features |
async method and await expression |
By using async and await keywords |
Task based pattern | The new C# 5.0 asynchronous pattern |
Read more in The Asynchronous Programming Models (C# 5.0 Series) at CodeProject
Nullable Reference Types in C# 8.0
Try out Nullable Reference Types With the release of .NET Core 3.0 Preview 7, C# 8.0 is considered “feature complete”. That means that the biggest feature of them all, Nullable Reference Types, is also locked down behavior-wise for the .NET Core release.
.NET Shell Extensions – Shell Context Menus – CodeProject
Rapidly create Shell Context Menu Extensions using .NET
Source: .NET Shell Extensions – Shell Context Menus – CodeProject
You must be logged in to post a comment.