Re-thinking the Visitor Pattern with the Double-Dispatch Approach
#443 – February 27, 2023 | View in browser |
C# Digest
Re-thinking the Visitor Pattern with the Double-Dispatch Approach
This article will help you have another point of view with the Visitor Pattern by thinking it with the Double-Dispatch Approach. This article will also show you a practical use case of how this pattern is applied in .NET.
Want to Keep your Main Branch Green? You Should Use a Merge Queue (sponsor)
Outdated pull requests are the root cause of many issues: broken main, constant revert, and frustration. Using a merge queue allows you to update, test and merge each PR automatically and sequentially. No more broken main, manual reverts, and rebases. Embrace both safety and velocity!
C# "var" with a Reference Type is Always Nullable
As an addition to the series on nullability in C#, we should look at the "var" keyword. This is because "var" behaves a little differently than it did before nullable reference types. Specifically, when nullability is enabled, using "var' with a reference type always results in a nullable reference type.
Applying Postel’s law in ASP.NET
An important aspect in building robust systems is applying ‘Postel’s law’. Postel's Law was formulated by Jon Postel, an early pioneer of the Internet. The law was really a guideline for creators of software protocols. The idea was that different implementations of the protocol should interoperate.
To explain what this keyword does, I have to talk first about ref struct. C# 8 introduced ref struct where it was used to implement the Span type. A ref struct guarantees that an instance of the type is allocated on the stack and can’t escape to the managed heap. To guarantee this, strict scoping rules are enforced by the compiler.
Refactoring huge C# code base in minutes
With my team, we like to keep our C# code base updated. So, recently we went to .NET 7 and C# 11. At the same time, we were still adopting some of the new capabilities of .NET 6 and C# 10.
Creating a custom Main method in a WPF application
In this post, I describe how to create a custom Main method in a .NET WPF application
how did you like this issue?
newsletters

Older messages
What is .NET, and why should you choose it?
Sunday, February 19, 2023
.NET has changed a lot over the last few years. Learn why you should choose it for your next project. #442 – February 20, 2023 View in browser C# Digest What is .NET, and why should you choose it? .NET
Update to the .NET language strategy
Sunday, February 12, 2023
What's happening with C#, F# and Visual Basic? #441 – February 13, 2023 View in browser C# Digest Update to the .NET language strategy Interested in what is going on and the future of .NET
How to Tame the Asynchronous Nightmare
Sunday, February 5, 2023
You sprinkle async and await through your code, and everything is working just fine. #440 – February 06, 2023 View in browser C# Digest How to Tame the Asynchronous Nightmare You're an intermediate
Server-side caching strategies: How do they work?
Sunday, January 29, 2023
Cache-aside, Read-through, Write-through, Write-behind: quite easy on the surface, but let's go a little deeper. #439 – January 30, 2023 View in browser C# Digest Server-side caching strategies:
Securing Sensitive Information with .NET User Secrets
Sunday, January 22, 2023
Working with secure keys in .NET has always been a delicate balance of convenience and safety. #438 – January 23, 2023 View in browser C# Digest Securing Sensitive Information with .NET User Secrets In
You Might Also Like
Import AI 399: 1,000 samples to make a reasoning model; DeepSeek proliferation; Apple's self-driving car simulator
Friday, February 14, 2025
What came before the golem? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Defining Your Paranoia Level: Navigating Change Without the Overkill
Friday, February 14, 2025
We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy
5 ways AI can help with taxes 🪄
Friday, February 14, 2025
Remotely control an iPhone; 💸 50+ early Presidents' Day deals -- ZDNET ZDNET Tech Today - US February 10, 2025 5 ways AI can help you with your taxes (and what not to use it for) 5 ways AI can help
Recurring Automations + Secret Updates
Friday, February 14, 2025
Smarter automations, better templates, and hidden updates to explore 👀 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
The First Provable AI-Proof Game: Introducing Butterfly Wings 4
Friday, February 14, 2025
Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? undefined The Market Today #01 Instagram (Meta) 714.52 -0.32%
GCP Newsletter #437
Friday, February 14, 2025
Welcome to issue #437 February 10th, 2025 News BigQuery Cloud Marketplace Official Blog Partners BigQuery datasets now available on Google Cloud Marketplace - Google Cloud Marketplace now offers
Charted | The 1%'s Share of U.S. Wealth Over Time (1989-2024) 💰
Friday, February 14, 2025
Discover how the share of US wealth held by the top 1% has evolved from 1989 to 2024 in this infographic. View Online | Subscribe | Download Our App Download our app to see thousands of new charts from
The Great Social Media Diaspora & Tapestry is here
Friday, February 14, 2025
Apple introduces new app called 'Apple Invites', The Iconfactory launches Tapestry, beyond the traditional portfolio, and more in this week's issue of Creativerly. Creativerly The Great
Daily Coding Problem: Problem #1689 [Medium]
Friday, February 14, 2025
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a linked list, sort it in O(n log n) time and constant space. For example,
📧 Stop Conflating CQRS and MediatR
Friday, February 14, 2025
Stop Conflating CQRS and MediatR Read on: my website / Read time: 4 minutes The .NET Weekly is brought to you by: Step right up to the Generative AI Use Cases Repository! See how MongoDB powers your