C# 8.0 features

C# 8.0 features

Extension everything — a new syntax for extension methods that will also allow extension “other things,” like the much-anticipated extension properties.

Default implementations on interfaces — this allows you to implement methods on interfaces, giving them a default implementation. That will enable you to add new methods to interfaces without breaking its clients.

Nullable reference types — probably one of the most anticipated features ever. It’s a reinterpretation (a “retcon” for you comic book geeks out there) of all the reference types as nullable and the introduction of a new syntax to denote nullable types, accompanied by several types of static checks, to prevent several classes of errors regarding these types. Say farewell to the null reference exception!

Null coalescing assignment — a very simple feature to shorten the check for null before assigning to a variable.

Records — this one is pretty interesting. It’s basically a very short way for you to declare classes that are only data holders. The compiler gives you Equals and GetHashCode implementations, a constructor, properties, and immutability for free, allowing you to do something more interesting with your life than writing loads of boilerplate code.

Target-typed “new” expressions — a way for you to omit the type from a constructor call, making the code simpler and less redundant.

Covariant return types — a much-anticipated feature that allows an overriding method to return a more derived type than the original type from the base class.

https://blog.ndepend.com/c-8-0-features-a-final-glimpse/

https://blog.ndepend.com/c-8-0-features-a-final-glimpse/

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.