New C# 11 Keyword - required - and How To Use It Right
Become a patron and get access to source code and exclusive live streams: https://www.patreon.com/posts/new-c-11-keyword-81381466
The 'required' keyword, introduced in C# 11, is completing the cycle started in C# 9, when init-only setters were introduced. By combining object initializers with required properties, we can redefine the process of instantiating classes.
A required member must be initialized at the time of construction. Failing to do so will cause a compile-time error, because compiler is performing due diligence on every instantiation of an object which declares required members.
Special attention is paid to constructors. Every constructor that sets all required members - fields or properties - must be adorned with the SetsRequiredMembers attribute. That is the signal to the constructor that a use of that constructor is safe, from perspective of the required members. If this attribute is not set, then the constructor would expect all required members to be set using the initializer right after the call to the constructor.
It is important to note that there is no "middle ground". A constructor is either considered to set all required members, or all required members must appear in the initializer, regardless of what the constructor actually does.
Chapters:
00:00 Intro
00:31 Initializing properties before C# 11
03:02 Using the required keyword in C# 11
04:09 Using the SetsRequiredMembers attribute
06:07 Using required properties in nondestructive mutation
Learn more from video courses:
Beginning Object-oriented Programming with C# ► https://codinghelmet.com/go/beginning-oop-with-csharp
Collections and Generics in C# ► https://codinghelmet.com/go/collections-and-generics-in-cs
Making Your C# Code More Object-oriented ► https://codinghelmet.com/go/making-your-cs-code-more-oo
Other courses at Pluralsight ► https://codinghelmet.com/go/pluralsight
Other courses at Udemy ► https://codinghelmet.com/go/udemy
Other videos on this channel you may be interested in watching:
Using GitHub Copilot to Write Complex Code | Step-by-step Tutorial ► https://youtu.be/XktMg5jnaBI
Coding with GitHub Copilot - Beginner to Master | VS Code Demo ► https://youtu.be/B9DKv09IfT4
What is Covariance and Contravariance in C# ► https://youtu.be/Wp5iYQqHspg
How to Initialize a Clean ASP.NET Core Project with Entity Framework Core and Identity ► https://youtu.be/3NGz1G_HF94
The Null Conundrum: A Guide to Optional Objects in C# ► https://youtu.be/8-2xr_kBRnQ
Видео New C# 11 Keyword - required - and How To Use It Right канала Zoran on C#
The 'required' keyword, introduced in C# 11, is completing the cycle started in C# 9, when init-only setters were introduced. By combining object initializers with required properties, we can redefine the process of instantiating classes.
A required member must be initialized at the time of construction. Failing to do so will cause a compile-time error, because compiler is performing due diligence on every instantiation of an object which declares required members.
Special attention is paid to constructors. Every constructor that sets all required members - fields or properties - must be adorned with the SetsRequiredMembers attribute. That is the signal to the constructor that a use of that constructor is safe, from perspective of the required members. If this attribute is not set, then the constructor would expect all required members to be set using the initializer right after the call to the constructor.
It is important to note that there is no "middle ground". A constructor is either considered to set all required members, or all required members must appear in the initializer, regardless of what the constructor actually does.
Chapters:
00:00 Intro
00:31 Initializing properties before C# 11
03:02 Using the required keyword in C# 11
04:09 Using the SetsRequiredMembers attribute
06:07 Using required properties in nondestructive mutation
Learn more from video courses:
Beginning Object-oriented Programming with C# ► https://codinghelmet.com/go/beginning-oop-with-csharp
Collections and Generics in C# ► https://codinghelmet.com/go/collections-and-generics-in-cs
Making Your C# Code More Object-oriented ► https://codinghelmet.com/go/making-your-cs-code-more-oo
Other courses at Pluralsight ► https://codinghelmet.com/go/pluralsight
Other courses at Udemy ► https://codinghelmet.com/go/udemy
Other videos on this channel you may be interested in watching:
Using GitHub Copilot to Write Complex Code | Step-by-step Tutorial ► https://youtu.be/XktMg5jnaBI
Coding with GitHub Copilot - Beginner to Master | VS Code Demo ► https://youtu.be/B9DKv09IfT4
What is Covariance and Contravariance in C# ► https://youtu.be/Wp5iYQqHspg
How to Initialize a Clean ASP.NET Core Project with Entity Framework Core and Identity ► https://youtu.be/3NGz1G_HF94
The Null Conundrum: A Guide to Optional Objects in C# ► https://youtu.be/8-2xr_kBRnQ
Видео New C# 11 Keyword - required - and How To Use It Right канала Zoran on C#
csharp dotnet programming object-oriented programming functional programming c# zoran horvat zoran horvat c# programming learn c# c# tutorial required c# 11 dotnet 7 .net 7 c# 11 what's new .net 7 what's new dotnet 7 what's new properties initializer constructor nondestructive mutation mutation functional class functional design immutable design immutable class immutable
Комментарии отсутствуют
Информация о видео
22 ноября 2022 г. 15:00:06
00:07:27
Другие видео канала