csharp-union-types
Design, review and implement C# 15 unions and closed hierarchies in .NET 11 code. Use for union declarations, custom [Union] types, exhaustive matching, default/null handling and union serialization. Do not upgrade earlier frameworks or replace working inheritance merely because unions exist.
Pinned to revision bdff9ce98956, so it is the text this page describes rather than whatever the author pushed since.
Files
- skills/csharp-union-types/SKILL.md
- skills/csharp-union-types/.github/workflows/verify.yml
- skills/csharp-union-types/.gitignore
- skills/csharp-union-types/.sync-manifest.json
- skills/csharp-union-types/CHANGELOG.md
- skills/csharp-union-types/LICENSE
- skills/csharp-union-types/README.md
- skills/csharp-union-types/THIRD-PARTY-NOTICES.md
- skills/csharp-union-types/examples/.editorconfig
- skills/csharp-union-types/examples/closed-hierarchies.cs
- skills/csharp-union-types/examples/functional.cs
- skills/csharp-union-types/examples/unions.cs
- skills/csharp-union-types/global.json
- skills/csharp-union-types/polyfills/IUnion.cs
- skills/csharp-union-types/polyfills/README.md
- skills/csharp-union-types/polyfills/UnionAttribute.cs
- skills/csharp-union-types/probes/Directory.Build.props
- skills/csharp-union-types/probes/Directory.Build.targets
- skills/csharp-union-types/probes/LICENSE
- skills/csharp-union-types/probes/QClosed/Program.cs
- skills/csharp-union-types/probes/QClosed/QClosed.csproj
- skills/csharp-union-types/probes/QClosedJson/Program.cs
- skills/csharp-union-types/probes/QClosedJson/QClosedJson.csproj
- skills/csharp-union-types/probes/QClosedLib/Library.cs
- skills/csharp-union-types/probes/QClosedLib/QClosedLib.csproj
- skills/csharp-union-types/probes/QConv/Program.cs
- skills/csharp-union-types/probes/QConv/QConv.csproj
- skills/csharp-union-types/probes/QIface/Program.cs
- skills/csharp-union-types/probes/QIface/QIface.csproj
- skills/csharp-union-types/probes/QLang/Program.cs
- skills/csharp-union-types/probes/QLang/QLang.csproj
- skills/csharp-union-types/probes/QLang2/Program.cs
- skills/csharp-union-types/probes/QLang2/QLang2.csproj
- skills/csharp-union-types/probes/QRoslyn/Program.cs
- skills/csharp-union-types/probes/QRoslyn/QRoslyn.csproj
- skills/csharp-union-types/probes/QSrcGen/Program.cs
- skills/csharp-union-types/probes/QSrcGen/QSrcGen.csproj
- skills/csharp-union-types/references/diagnostics.md
- skills/csharp-union-types/references/union-reference.md
- skills/csharp-union-types/references/verification.md
- skills/csharp-union-types/scripts/check_links.py
- skills/csharp-union-types/scripts/sync.py
- skills/csharp-union-types/scripts/tests/test_tools.py
- skills/csharp-union-types/scripts/verify.py
- skills/csharp-union-types/verification/Diagnostics/Cases.cs
- skills/csharp-union-types/verification/Diagnostics/ClosedMetadata.cs
- skills/csharp-union-types/verification/Diagnostics/Diagnostics.csproj
- skills/csharp-union-types/verification/Examples/FunctionalExamples.cs
- skills/csharp-union-types/verification/Examples/Program.cs
- skills/csharp-union-types/verification/PolyfillConsumer/Consumer.cs
- skills/csharp-union-types/verification/PolyfillConsumer/PolyfillConsumer.csproj
Every link opens the file at its source, pinned to the revision this page describes.