Skip to content

[Proposal]: Case Declarations #9500

@mattwar

Description

@mattwar

Case Declarations

Summary

A case declaration is a shorthand syntax for declaring a nested case of a closed type.
It infers much of what it is from context.

public closed record GateState
{
    case Closed;
    case Locked;
    case Open(float Percent);
}

When used within a record declaration, it is the equivalent of writing:

public closed record GateState
{
    public sealed record Closed : GateState;
    public sealed record Locked : GateState;
    public sealed record Open(float Percent) : GateState;
}

Design meetings

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions