.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.
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.
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.
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?
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.