Repository navigation
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