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 namespacesGlobal using directives In this blog post, let's... 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#... 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... 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... 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... 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... 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... 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... 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... 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... 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... 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... 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... 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... 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... 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... 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... 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... 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... 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... 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... 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... read more
Calling WinUI from Blazor App Hosted in WebView2
In the previous blog post you learned how you can use JavaScript Interop to call from your WinUI application... read more
Hosting a Blazor App in WinUI 3 with WebView2 and call a Blazor Component Method from WinUI
WinUI 3.0 is Microsoft's upcoming UI framework to build modern, native Windows applications. WinUI is developed open source on... read more
Initializing Web Components in Blazor via JS Interop
This blog post shows how to use a simple JavaScript web component in a Blazor app. The web component... read more