January 2023
C# 11.0: Generic Math, C# Operators and Static Abstract/Virtual Interface Members
In the previous blog posts you learned about different C# 11.0 features: Raw String Literals Generic Attributes In this blog post, let's look... read more
C# 11.0: Generic Attributes
In the previous blog post you learned about C# 11.0 raw string literals. In this blog post, you will learn about another... read more
December 2022
C# 11.0: Raw String Literals
In November 2022, .NET 7.0 was released, and since then, you can use C# 11.0. In version 11.0, the C# language... read more
October 2021
C# 10.0: Extended Property Patterns – Use the Dot Token to Access Nested Members
In the previous blog posts you learned about different C# 10.0 features: File-scoped namespaces Global using directives In this blog post, let's look... read more
September 2021
C# 10.0: Global Using Directives – Make Important Namespaces Available in Your Whole Project
In the previous blog post you learned about C# 10.0 file-scoped namespaces. In this blog post you learn about another C# 10.0... read more
C# 10.0: File Scoped Namespaces – Get More Space For Your Code
C# 10.0 and .NET 6.0 will be released in November 2021. Time to look at the new language features with... read more
May 2021
MvvmGen 1.1.0 and the New Special Edition: PURE CODE GENERATION – No Runtime Dependency For Your Project!
In the last blog post I introduced you to MvvmGen, the new MVVM library built with a strong focus on... read more
Introducing the brand-new MvvmGen Library – Writing ViewModels for your XAML Applications Has Never Been More Productive and Easier
In the nights of the past weeks, I built a brand-new MVVM library that you can use in your XAML-based... read more
April 2021
Store Data of Your Blazor App in the Local Storage and in the Session Storage
To store local data, today's browsers support a local storage and a session storage. The difference between the two is... read more
March 2021
Using Tuples in C# to Initialize Properties in the Constructor and to Deconstruct Your Object
Recently I was asked by a developer what this code block here actually is: public Friend(string firstName, string middleName, string lastName) ... read more
C# 9.0: Covariant Return Types – Specify More Specific Return Types in Overridden Methods and Properties
In the previous blog posts you learned about different C# 9.0 features: Top-level statementsInit-only propertiesRecordsTarget-typed new expressionsImproved Pattern MatchingPattern Matching in... read more
February 2021
C# 9.0: Pattern Matching in Switch Expressions
In the previous blog posts about C# 9.0 you learned about different features: Top-level statementsInit-only propertiesRecordsTarget-typed new expressionsImproved Pattern Matching In this... read more
C# 9.0: Improved Pattern Matching
In the previous blog posts about C# 9.0 you learned about different features: Top-level statementsInit-only propertiesRecordsTarget-typed new expressions In this blog post,... read more
Configure Naming Styles and Rules in Visual Studio and also at the solution/project level with an .editorconfig file
When it comes to naming fields in classes, there are three types of .NET developers (The truth is there are... read more
What is Actually the Universal Windows Platform and what is WinUI, MSIX, and Project Reunion / Windows App SDK?
This morning I got a wonderful message from a very smart and great person who watched my latest Pluralsight course,... read more
September 2020
C# 9.0: Target-typed New Expressions – Make Your Initialization Code Less Verbose
In the previous blog posts you learned about different C# 9.0 features: Top-level statementsInit-only propertiesRecords In this blog post, let's look at... read more
C# 9.0: Records – Work With Immutable Data Classes
In the previous blog posts you learned about different C# 9.0 features: Top-level statementsInit-only properties In this blog post, let's look at... read more
August 2020
C# 9.0: Init-only Properties – Create Immutable Properties Without Constructor Boilerplate
In the previous blog post you learned about C# 9.0 top-level statements. In this blog post you learn about another... read more
C# 9.0: Top-level Statements. Or Should I Say: Hey, Where’s the Main Method?
C# 9.0 introduces many new language features, and with this blog post I start a little series to look at... read more
April 2020
Pluralsight Courses for .NET Windows Developers
On Pluralsight you can watch 7000+ expert-led video courses. Pluralsight is FREE to individuals for the entire month of April... read more
March 2020
.NET 5: Merging .NET Core and .NET Standard with New Target Framework Monikers (TFMs)
Wait, before we begin, what is a Target Framework Monitor... ahem, sorry, Moniker, not Monitor, I mean, what is a... read more
C#: Why You Should Prefer the is Keyword Over the == Operator
In the previous blog post you learned about different ways to do a null check. The traditional way is to... read more
C#: Different ways to Check for Null
What is the classic way to check if for example a parameter value is null? If you've developed with C#... read more
C#: The Order of Interfaces Is Important for Casting Performance
Recently there was a discussion in a Pull Request for the .NET runtime on GitHub. In the discussion it was... read more
February 2020
TypeScript: ECMAScript Private Fields for Hard Privacy in Classes
This month on February 20th, Microsoft announced the final release of TypeScript 3.8. It has a bunch of new features.... read more