Nullable Reference Types - The Good, The Bad, The Ugly

Codewrinkles February 19, 2023
Video Thumbnail
Codewrinkles Logo

Codewrinkles

View Channel

About

Your daily does of #DotNet videos. We cover a wide variety of topics like #AspNetCore, #Blazor, EntityFramework Core, software architecture and so much more. You'll also find here regular live coding sessions.

Video Description

Nullable reference types is not new to #dotnet and #csharp anymore. It's been around since C# 8. I see people (including myself) still struggling with this feature. Why? Well, because all tech influencers just say that you SHOULD definitely use nullable reference types, but when you try to do so, you stumble upon a lot of challenges, headaches and pain. And it's because almost nobody is talking about the bad and ugly parts of nullable reference types. This changes with this video, as I'm about to take you to a journey in which we'll discuss the values of nullable reference types, but also the challenges and pain that they bring. Join this channel to get source code access and other perks: https://www.youtube.com/channel/UCyTPru-1gZ7-4qblcKM0TiQ/join Also follow me here (especially if you are a self taught developer): ✅My other channel: https://www.youtube.com/@DanPatrascuTech ✅Facebook: https://www.facebook.com/danpatrascutech ✅Instagram: https://www.instagram.com/danpatrascutech/ ✅TikTok: https://www.tiktok.com/@danpatrascutech ✅Newsletter: https://www.danpatrascu.tech/ Mentioned articles and documentation: 1️⃣Christian Findlay's blog post: https://www.christianfindlay.com/blog/stop-nullreferenceexceptions 2️⃣Treat warnings as errors docs: https://www.christianfindlay.com/blog/stop-nullreferenceexceptions Contents: 1. Intro: 00:00 2. Value proposition: 01:40 3. Consistency is key: 05:13 4. Treating warnings as errors: 07:07 5. What is nullable and what not? 08:22 6. Now it gets ugly - EF Core: 10:59 7. The "required" keyword magic: 15:10 8. What about navigation properties? 16:18 9. DbContext headaches: 17:39 10. Challenges with DTOs: 19:07 11. Challenges with Razor Pages: 21:04 12. Introducing nullable reference types in existing code bases: 23:45 13. Conclusions: 24:48 My setup: Camera - Canon EOS M50 Mark II: https://amzn.to/3SJxS4d Lav mic - Rode Lavalier GO Professional: https://amzn.to/3mmZS1B Condenser mic - Shure SM7B: https://amzn.to/3JaqjQN Audio console - Rodecaster PRO II: https://amzn.to/3KTVMIg Laptop - Dell Latitude: https://amzn.to/3KV4SEW Monitors - Benq 27 inch: https://amzn.to/3JbM6aU Lights - 2x Godox SL-60W: https://amzn.to/3KV3qCj

You May Also Like