Book Image

C# 7 and .NET Core Cookbook - Second Edition

Book Image

C# 7 and .NET Core Cookbook - Second Edition

Overview of this book

C# has recently been open-sourced and C# 7 comes with a host of new features for building powerful, cross-platform applications. This book will be your solution to some common programming problems that you come across with C# and will also help you get started with .NET Core 1.1. Through a recipe-based approach, this book will help you overcome common programming challenges and get your applications ready to face the modern world. We start by running you through new features in C# 7, such as tuples, pattern matching, and so on, giving you hands-on experience with them. Moving forward, you will work with generics and the OOP features in C#. You will then move on to more advanced topics, such as reactive extensions, Regex, code analyzers, and asynchronous programming. This book will also cover new, cross-platform .NET Core 1.1 features and teach you how to utilize .NET Core on macOS. Then, we will explore microservices as well as serverless computing and how these benefit modern developers. Finally, you will learn what you can do with Visual Studio 2017 to put mobile application development across multiple platforms within the reach of any developer.
Table of Contents (17 chapters)

Creating a custom code analyzer

The real magic of code analyzers come to the fore when you create one to suit a specific need. What would qualify as a specific need? Well anything that is specific to your own business requirements that is not covered in the out-of-the-box analyzers. Don't get me wrong; the existing analyzers that are available to developers really cover a lot of good programming practices. Just take a look on GitHub by searching for C# code analyzers.

Sometimes, however, you might have a case where something is more suited to your workflow or the way your company does business.

An example of this is could be to ensure that comments on all public methods include more information than just the standard <summary></summary> and parameter information (if any). You might want to include an additional tag with the internal task ID, for example (think Jira here). Another example is making...