Before C# 7.0 it was not possible to throw an exception directly in expression-bodied members. The workaround was to call a method that throws an exception.
Expression bodied members were a very popular feature of C# 6.0. Unfortunately, their usage was limited only to methods and properties.
There are situations when one needs a small helper method, but it’s not quite obvious where to put it. The method might not be generic enough to expose it as a new entity or even as a class member.
It’s time to sum up all C# 6 features. Here is a list of all goodness with short examples implemented and tested in Visual Studio 2015. nameof String interpolation Null-conditional (?. and ?) and null-coalescing (??) operators Index initializers Extension methods visible in collection initializers Exception filters Auto-property initializers Expression-bodied […]
Expression bodied functions were created to provide simplified syntax for cases where implementation is straightforward. They improve C# code readability significantly.