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/

JWT Authentication for Microservices in .NET

JWT Authentication for Microservices in .NET
“As software development evolves to service-oriented architectures, the underlying frameworks and methods used must change as well. Mircea Oprea demonstrates how to create a service to manage authentication across components and servers.”

https://www.red-gate.com/simple-talk/dotnet/c-programming/jwt-authentication-microservices-net/

https://www.red-gate.com/simple-talk/dotnet/c-programming/jwt-authentication-microservices-net/

“An often-cited hole in the .NET Core ecosystem is the lack of any true cross-platform UI toolkit. While there have…

“An often-cited hole in the .NET Core ecosystem is the lack of any true cross-platform UI toolkit. While there have been attempts at a multi-platform toolkit in the past, such as Silverlight and Xamarin Forms, no one has yet achieved a full XAML-style cross-platform option. Avalonia is making the attempt with plans to support Windows (.NET Framework, .NET Core), Linux (GTK), MacOS, Android and iOS.”

https://www.infoq.com/news/2018/02/Avalonia

https://www.infoq.com/news/2018/02/Avalonia

PowerShell Core 6.0 is a new edition of PowerShell that is cross-platform (Windows, macOS, and Linux), open-source,…

PowerShell Core 6.0 is a new edition of PowerShell that is cross-platform (Windows, macOS, and Linux), open-source, and built for heterogeneous environments and the hybrid cloud.

https://blogs.msdn.microsoft.com/powershell/2018/01/10/powershell-core-6-0-generally-available-ga-and-supported/

PowerShell Core is officially supported on the following platforms:

Windows 7, 8.1, and 10
Windows Server 2008 R2, 2012 R2, 2016
Windows Server Semi-Annual Channel
Ubuntu 14.04, 16.04, and 17.04
Debian 8.7+, and 9
CentOS 7
Red Hat Enterprise Linux 7
OpenSUSE 42.2
Fedora 25, 26
macOS 10.12+

Contributed, but not officially supported:

Arch Linux
Kali Linux
AppImage (works on multiple Linux platforms)

Experimental (unsupported) releases:

Windows on ARM32/ARM64
Raspbian (Stretch)

https://blogs.msdn.microsoft.com/powershell/2018/01/10/powershell-core-6-0-generally-available-ga-and-supported/

.NET going open source!

.NET going open source!

Didn’t see that one coming!  VS15 going cross platform for Windows, iOS and Android, and – with an OSX .NET core – soon for OSX as well, I guess.