Skip to content

DE CSharp Keyword closed

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

C#: closed

Handbuch C# · Praktischer Leitfaden

Vorschaumodifikator für geschlossene Hierarchie: Unmittelbare Nachkommen müssen derselben Baugruppe angehören. Der Compiler kann die Vollständigkeit eines Wechsels anhand solcher Nachkommen analysieren.

Einfaches Beispiel (Example.cs)

Speichern Sie dieses Beispiel separat als Example.cs. Führen Sie es unabhängig von den anderen Beispielen dieser Seite aus.

Example.cs:

// PROJECT-EXAMPLE
sealed class Finished { }

Dieses kurze Beispiel verwendet C# 14. Es implementiert nicht das hier nicht verfügbare Preview-Konstrukt closed.

Syntax

public closed class Base { ... }

Das offizielle Verzeichnis bezieht sich geschlossen auf C# 15. Das aktuelle C# 14 / .NET 10 akzeptiert diese Beispiele nicht: Es sind ein kompatibler Vorschau-Compiler und eine entsprechende Laufzeitplattform erforderlich. Dies ist eine Übersicht über eine zukünftige Funktion, kein Befehl zur Support-Aktivierung.

Status: Vorschau; Die aktuelle Konfiguration C# 14 / .NET 10 unterstützt diese Beispiele nicht.

Beispiel 1: Grundform

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;

public static class Program
{
    public static async Task Main(string[] args)
    {
        Status status = new Ready();
        Console.WriteLine(status switch { Ready => "ready", Busy => "busy" });
    }
}
public closed record Status;
public sealed record Ready : Status;
public sealed record Busy : Status;

Beispiel 2: eine weitere praktische Form

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;

public static class Program
{
    public static async Task Main(string[] args)
    {
        Shape shape = new Circle(3);
        Console.WriteLine(shape switch { Circle(var radius) => radius * radius, Box(var width) => width * width });
    }
}
public closed record Shape;
public sealed record Circle(int Radius) : Shape;
public sealed record Box(int Width) : Shape;

Offizielle Quelle: Microsoft Learn.

Clone this wiki locally