dotnet / dotnet/csharplang

[Proposal]: Partial events and constructors (VS 18.0, .NET 10)

Open
#9,058 0 comments 0 reactions 1 assignee Claimed by @jaredpar View on GitHub
Implemented Needs ECMA Spec Proposal champion
Dominant language
C#
Stars
12.7k
Forks
1.1k
Avg merge
11h 1m
Merged PRs (30d)
3

Description

# Partial events and constructors

* Specification: https://github.com/dotnet/csharplang/blob/main/proposals/csharp-14.0/partial-events-and-constructors.md
* Discussion: https://github.com/dotnet/csharplang/discussions/8064

## Summary

Allow the `partial` modifier on events and constructors to separate declaration and implementation parts,
similar to [partial methods][partial-methods-ext] and [partial properties/indexers][partial-props].

```cs
partial class C
{
partial C(int x, string y);
partial event Action MyEvent;
}

partial class C
{
partial C(int x, string y) { }
partial event Action MyEvent
{
add { }
remove { }
}
}
```

[partial-methods-ext]: ./csharp-9.0/extending-partial-methods.md
[partial-props]: ./csharp-13.0/partial-properties.md

## Design meetings

https://github.com/dotnet/csharplang/blob/main/meetings/2022/LDM-2022-11-02.md#partial-properties
https://github.com/dotnet/csharplang/blob/main/meetings/2025/LDM-2025-01-22.md#partial-events-and-constructors

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.