Repository navigation
RU CSharp Keyword closed
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
Справочник C# · Практическое руководство
Preview-модификатор закрытой иерархии: непосредственные потомки должны принадлежать тому же сборнику. Компилятор может анализировать полноту switch по следующим потомкам.
Сохраните этот пример отдельно как Example.cs. Запускайте его независимо от остальных примеров страницы.
Example.cs:
// PROJECT-EXAMPLE
sealed class Finished { }Этот короткий пример использует C# 14. Он не реализует preview-конструкцию closed: она здесь не поддерживается.
public closed class Base { ... }Официальный справочник относит closed к C# 15. Текущий C# 14 / .NET 10 эти примеры не принимает: нужны совместимый preview-компилятор и соответствующая runtime-платформа. Это обзор будущей возможности, а не команда включения поддержки.
Статус: preview; текущая конфигурация C# 14 / .NET 10 эти примеры не поддерживает.
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;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;Официальный источник: Microsoft Learn.
ClassicUO — Bad Newbie & C# Scripts IDE