Skip to content

Commit 76c00e0

Browse files
committed
Publish extensions specification
Publish the feature specification for the extension members feature.
1 parent 240ecce commit 76c00e0

File tree

3 files changed

+12
-2
lines changed

3 files changed

+12
-2
lines changed

docfx.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@
5959
"first-class-span-types.md",
6060
"simple-lambda-parameters-with-modifiers.md",
6161
"partial-events-and-constructors.md",
62-
"null-conditional-assignment.md"
62+
"null-conditional-assignment.md",
63+
"extensions.md"
6364
],
6465
"src": "_csharplang/proposals",
6566
"dest": "csharp/language-reference/proposals",
@@ -510,7 +511,7 @@
510511
"_csharplang/proposals/csharp-11.0/*.md": "09/30/2022",
511512
"_csharplang/proposals/csharp-12.0/*.md": "08/15/2023",
512513
"_csharplang/proposals/csharp-13.0/*.md": "10/31/2024",
513-
"_csharplang/proposals/*.md": "04/04/2025",
514+
"_csharplang/proposals/*.md": "04/08/2025",
514515
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 7.md": "11/08/2022",
515516
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 8.md": "11/08/2023",
516517
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 9.md": "11/09/2024",
@@ -691,6 +692,7 @@
691692
"_csharplang/proposals/simple-lambda-parameters-with-modifiers.md": "Simple lambda parameters with modifiers",
692693
"_csharplang/proposals/partial-events-and-constructors.md": "Partial events and constructors",
693694
"_csharplang/proposals/null-conditional-assignment.md": "Null conditional assignment",
695+
"_csharplang/proposals/extensions.md": "Extension members",
694696
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 7.md": "C# compiler breaking changes since C# 10",
695697
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 8.md": "C# compiler breaking changes since C# 11",
696698
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 9.md": "C# compiler breaking changes since C# 12",
@@ -817,6 +819,7 @@
817819
"_csharplang/proposals/simple-lambda-parameters-with-modifiers.md": "This proposal allows lambda parameters to be declared with modifiers without requiring their type names. You can add modifiers like `ref` and `out` to lambda parameters without specifying their type.",
818820
"_csharplang/proposals/partial-events-and-constructors.md": "This proposal allows partial events and constructors to be declared in partial classes. The event and constructor can be split across class declarations.",
819821
"_csharplang/proposals/null-conditional-assignment.md": "This proposal allows the null conditional operator to be used for the destination of assignment expressions. This allows you to assign a value to a property or field only if the left side is not null.",
822+
"_csharplang/proposals/extensions.md": "This proposal enables new kinds of extension members. These new extension members support extension properties, extension static members, including extension operators.",
820823
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 7.md": "Learn about any breaking changes since the initial release of C# 10 and included in C# 11",
821824
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 8.md": "Learn about any breaking changes since the initial release of C# 11 and included in C# 12",
822825
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 9.md": "Learn about any breaking changes since the initial release of C# 12 and included in C# 13",

docs/csharp/specification/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,8 @@ items:
219219
href: ../../../_csharplang/proposals/csharp-10.0/async-method-builders.md
220220
- name: Params collections
221221
href: ../../../_csharplang/proposals/csharp-13.0/params-collections.md
222+
- name: Extension members
223+
href: ../../../_csharplang/proposals/extensions.md
222224
- name: Structs
223225
items:
224226
- name: Readonly instance members

docs/csharp/whats-new/csharp-14.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ ms.topic: whats-new
88

99
C# 14 includes the following new features. You can try these features using the latest [Visual Studio 2022](https://visualstudio.microsoft.com/vs/preview/) version or the [.NET 10 SDK](https://dotnet.microsoft.com/download/dotnet):
1010

11+
- [Extension members](#extension-members)
1112
- [Null-conditional assignment](#null-conditional-assignment)
1213
- [`nameof` supports unbound generic types](#unbound-generic-types-and-nameof)
1314
- [More implicit conversions for `Span<T>` and `ReadOnlySpan<T>`](#implicit-span-conversions)
@@ -25,6 +26,10 @@ You can find any breaking changes introduced in C# 14 in our article on [breakin
2526

2627
[!INCLUDE [released-version-feedback](./includes/released-feedback.md)]
2728

29+
## Extension members
30+
31+
You can learn more details by reading the [feature specification](~/_csharplang/proposals/extensions.md) for the new extension members feature.
32+
2833
## The `field` keyword
2934

3035
The token `field` enables you to write a property accessor body without declaring an explicit backing field. The token `field` is replaced with a compiler synthesized backing field.

0 commit comments

Comments
 (0)