C# 14 Expands Type Flexibility with New Extension Members
C# 14, the upcoming version of Microsoft’s versatile programming language, introduces a powerful addition to its type system: extension members. Building on the well-established concept of extension methods, extension members make it even easier for developers to enhance existing types—especially when source code isn’t available or when working with interfaces. This feature debuts in the latest C# 14 preview, released alongside .NET 10 Preview 3.
With extension members, developers can now define both static and instance extension properties, in addition to static extension methods. This allows for more natural and expressive APIs. For example, instead of calling !list.Any()
, a developer can create a custom IsEmpty
extension property that behaves like a native part of the type. Extension members offer an intuitive syntax to create enhancements that look and feel like they’re built into the type—even when they’re not.
One of the key aspects of this feature is its flexible, optional syntax. Existing extension methods using the traditional this
parameter style remain fully supported. The new syntax doesn’t require a rewrite of old code, but it opens the door to a more consistent and property-like experience when extending types. According to Kathleen Dollard, principal program manager for .NET, the addition makes extension functionality feel more native and accessible, especially when working with types that cannot be modified directly.
The path to implementing extension members wasn’t without challenges. Microsoft explored a wide range of designs, some of which would have introduced breaking changes or required cumbersome workarounds. Others conflicted with C#’s design philosophy or added unnecessary complexity. The final design strikes a balance by preserving compatibility with the vast existing ecosystem of extension methods while providing a cleaner, more unified approach to type augmentation. C# 14 is expected to reach general availability with the release of .NET 10 in November 2025.