InfoQ Homepage C# Content on InfoQ
-
C# 12: Preview of Three New Features Coming
Microsoft has published the release post which covers the three exciting new features that will be included in the upcoming release of C# 12, the latest version of its popular programming language. These features include primary constructors for non-record classes and structs, using aliases for any type, and default values for lambda expression parameters.
-
Visual Studio Extensibility SDK Preview 3: New Features for Building Productivity Extensions
Visual Studio Extensibility Preview 3 adds the Debugger Visualizers to simplify the debugging experience, Custom Dialogs to create tailored user interfaces, Query the Project System to access and interact with the project system, Editor Margin Extensions to add custom components to the margin of the code editor, and Extension Configuration options to give users more control over their extensions.
-
Microsoft Quietly Updates .NET Language Strategy
On February 6th 2023, Kathleen Dollard, principal program manager on .NET team at Microsoft, posted an update of the .NET language strategy. The new document is a continuation of the same ideas from the previous one, written in 2017, where C# and F# are the evolving languages and VB.NET is a niche language.
-
C# 11 Improvements for Strings, List Patterns and Object Creation
As part of the .NET 7 launch, on November 8th Microsoft unveiled the new features of C# 11, the latest version of the popular .NET programming language. The most prominent improvements include string enhancements, static method abstractions, list patterns and required members for object creation.
-
C# Warning Waves Hint at New Keywords in the Future
Like C# 9 and 10, C# 11 has quietly added a new compiler warning. This opt-in warning prevents the use of type names (e.g. classes, structs, and interfaces) that are all lowercase.
-
AWS Introduces the .NET Annotations Lambda Framework in Preview
Recently, AWS introduced a new framework for writing .NET 6 Lambda functions called Lambda Annotations. This framework was built alongside the .NET 6 managed runtime for Lambda released last February.
-
Effectful Effects - Unifying Bidirectional Communication between Software Components
Yizhou Zhang, assistant professor at the University of Waterloo, presented bidirectional algebraic effects, a new programming abstraction that subsumes current control flow patterns (e.g., exceptions, promises, generators) while supporting bidirectional control flows. With the new typed abstraction, all declared effects are handled, and no effects are accidentally handled by the wrong handler.
-
.NET News Roundup - Week of April 5th, 2021
The last week was an eventful one for the .NET community, with multiple releases from Microsoft - including the third preview for .NET 6, ASP.NET Core, MAUI, and EF Core 6. InfoQ examined these and a number of smaller stories in the .NET ecosystem from the week of April 5th, 2021.
-
Microsoft Using Metadata to Enable Idiomatic Win32 Interop from Rust and Other Languages
In a move to make it easier to use Win32 APIs from any language, Microsoft has launched its Win32 Metadata project with the aim of generating complete Win32 language bindings through automated, idiomatic projections. The project includes initial projections for C#, C++, and Rust.
-
Infer# Brings Facebook's Infer Static Analyzer to C# and .NET
With Infer#, Microsoft extends the choice of static analyzers available within the .NET ecosystem by bringing Facebook Infer's inter-procedural static analysis capabilities to it.
-
The Resurgence of Functional Programming - Highlights from QCon Plus
The Resurgence of Functional Programming track at QCon Plus featured several experts describing how functional programming makes developing software a joyful experience. They also told why and how object-oriented languages such as C# and Java are evolving by becoming more functional.
-
C# Futures: Null Check Operator
In the June 24th C# Language Design Meeting, Microsoft made a subtle change to the parameter null checking syntax. By changing it from “Type parameterName!” to “Type parameterName!!” they effectively introduced a new ‘null check operator’.
-
C# 9: towards First Class Support for Scripting
One of the defining characteristics of “scripting” languages is they don’t need any boilerplate. The very first line of a file can be the declarations and statements you would normally see inside a function. In the updated Top-level statements proposal, this capability is planned for C# 9.
-
Source Generators Will Enable Compile-Time Metaprogramming in C# 9
Source generators are a new feature of the C# compiler that enables inspecting user code using compiler-generated metadata and generating additional source files to be compiled along with the rest of the program.
-
C# Static Analysis Tool Roslynator.Analyzers Now Has over 500 Ways to Improve Code
The new version 2.3.1 of the Roslynator.Analyzers package brings the number of analyzers, refactorings and fixes to over 500. Roslynator uses the open-source Roslyn .NET Compiler Platform to perform static analysis on your C# code. This analysis drives your IDE to display hints and actions to improve your code.