.NET Reunified: Microsoft’s Plans for .NET 5

Mon, 01 Jul 2019 10:00:00 GMT

Mark Michaelis this month delves into .NET 5, the promised universal framework that unites the parallel threads of .NET Framework, Xamarin/Mono, and .NET Core into a single, universal target for desktop, Web, cloud, and device developers.

Read article

Parse the Command Line with System.CommandLine

Fri, 01 Mar 2019 10:00:00 GMT

System.CommandLine is an open source command line parser with built-in features like tab completion, directives, unit testing support, typo correction and more. The new open source API means that .NET finally has a fully functional command line parser.

Read article

How to Contribute to Microsoft Open Source Software Projects

Mon, 01 Oct 2018 10:00:00 GMT

Microsoft has open sourced some of its most important frameworks and technologies, including .NET Framework and C#, and hosts nearly 2,000 open source projects on GitHub. Mark Michaelis explores the ins and outs of contributing to Microsoft projects.

Read article

Tuple Trouble: Why C# Tuples Get to Break the Guidelines

Fri, 01 Jun 2018 10:00:00 GMT

If value types are supposed to be immutable and fields encapsulated by properties, why was the C# 7.0 tuple type explicitly and intentionally designed not to follow the guidelines?

Read article

C# 8.0 and Nullable Reference Types

Thu, 01 Feb 2018 10:00:00 GMT

Despite his love for C#, Mark Michaelis acknowledges it isn’t a perfect language. In particular, its handling of null references types has been problematic since the language’s inception. That issue should be considerably improved in C# 8.0.

Read article

C# 7.0: Tuples Explained

Tue, 01 Aug 2017 10:00:00 GMT

Mark Michaelis delves into the workings of tuples, a new feature of C# 7.0, covering the full breadth of the syntax options.

Read article

Custom Iterators with Yield

Thu, 01 Jun 2017 10:00:00 GMT

Mark Michaelis continues his exploration into the internals of the C# foreach statement, with a focus on the new contextual keyword—yield—that C# uses to generate the underlying CIL code that implements the iterator pattern used by the foreach loop.

Read article

Understanding C# foreach Internals and Custom Iterators with yield

Sat, 01 Apr 2017 10:00:00 GMT

Mark Michaelis delves Into the internals of a core construct of C# —the foreach statement—then explores implementing the foreach collection interfaces using the yield statement.

Read article

Essential MSBuild: A Build Engine Overview for .NET Tooling

Sun, 01 Jan 2017 10:00:00 GMT

The project file for .NET Core projects has finally stabilized into an MSBuild file, but simplified and improved over the old version. Mark Michaelis describes the new MSBuild and provides a broad overview of the places where MSBuild is leveraged within the .NET Tooling suite.

Read article

What's New in C# 7.0

Tue, 01 Nov 2016 10:00:00 GMT

The team is now buttoning down development on C# 7.0, and Visual Studio 15 Preview 5 is expected to implement virtually all of the new features. Come along as Mark Michaelis explores each of the new features in detail, including deconstructors, pattern matching with is and switch, local variables, and more.

Read article

Windows PowerShell Just Keeps Getting Better

Sat, 01 Oct 2016 10:00:00 GMT

Mark Michaelis explores new features that significantly improve Windows PowerShell. These include the addition of cross-platform support (PowerShell now runs on Linux!) and the transition to open source on GitHub.

Read article

Command-Line Processing with .NET Core 1.0

Thu, 01 Sep 2016 10:00:00 GMT

Mark Michaelis details how to configure the CommandLineApplication, and discusses how to trigger command-line parsing and what happens immediately after the parse invocation.

Read article

Visual Studio 2015 with .NET Core Tooling

Fri, 01 Jul 2016 10:00:00 GMT

Mark Michaelis discusses the various .NET Core project types, explains the details of the new files types and their function, and delves into how the new project structure supports side-by-side debugging of open source NuGet packages.

Read article

Dependency Injection with .NET Core

Wed, 01 Jun 2016 10:00:00 GMT

Mark Michaelis explores the dependency injection (DI) capabilities of .NET Core, and shows why the simple and lightweight implemenatation provides a great way to for developers new to the technology to get started.

Read article

Logging with .NET Core

Fri, 01 Apr 2016 10:00:00 GMT

Why on earth would you need a new logging framework? Because there are already so many available, and the new Microsoft.Extensions.Logging API lets you take advantage of them without having to write a wrapper of your own.

Read article

Configuration in .NET Core

Mon, 01 Feb 2016 10:00:00 GMT

Mark Michaelis introduces the new open source configuration support in ASP.NET 5, which is available in the Microsoft.Extensions.Configuration collection of NuGet packages, and includes both several built-in configuration providers and support for custom providers.

Read article

C# Scripting

Fri, 01 Jan 2016 10:00:00 GMT

Mark Michaelis delves into the new C# scripting environment of Visual Studio 2015 Update 1, which brings a new C# read-evaluate-print-loop (REPL), available as an interactive window within Visual Studio 2015 or as a command-line interface.

Read article

Designing C# 7

Tue, 01 Dec 2015 10:00:00 GMT

The C# 7 design team has been discussing, planning, experimenting and programming for about a year. Get an inside look at the next version of C# as Mark Michaelis samples some of the ideas they have been exploring.

Read article

C# Exception Handling

Sun, 01 Nov 2015 10:00:00 GMT

Many changes have occurred in the last five versions of C# and the corresponding Microsoft .NET Framework. In his inaugural column, Mark Michaelis reviews many of these changes and provides updated coding guidelines as they relate to exception handling and catching exceptions.

Read article

C# - How C# 6.0 Simplifies, Clarifies and Condenses Your Code

Fri, 02 Jan 2015 10:00:00 GMT

Mark Michaelis delves into the details of the new C# 6.0 feature set that remove some of the ceremony and make it easier to focus on business logic.

Read article

C# - The New and Improved C# 6.0

Wed, 01 Oct 2014 10:00:00 GMT

The new C# 6.0 is now in CTP3. There have been myriad enhancements and improvements, as well as some features that have dropped. Here’s a full rundown on what to expect and what to look for in the new language.

Read article

C# - A C# 6.0 Language Preview

Thu, 01 May 2014 10:00:00 GMT

Mark Michaelis presents some of the useful new features in the next version of C#, including indexed members and element initializers, auto-properties with initializers, primary constructors, static using statements, and exception-handling improvements.

Read article