Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpTySa 149 of 509 menu
◀ ▶

Статический абстрактный член интерфейса в C#

Модификатор static abstract в интерфейсе обязывает каждый реализующий тип дать свою версию члена. Так задают метод, который относится к самому типу, а не к объекту.

Вызов Box.From("x") создаёт объект и записывает в Size длину строки. Условие where T : IBox<T> связывает этот метод с тем же типом, который реализует интерфейс:

Console.WriteLine(Box.From("x").Size); // выведет 1 interface IBox<T> where T : IBox<T> { int Size { get; } static abstract T From(string raw); } record Box(int Size) : IBox<Box> { public static Box From(string raw) => new(raw.Length); }

Опишите общий способ создать объект у двух типов: один читает число из строки "40", другой хранит текст "red". Выведите по одному полю каждого результата.

Получите два значения разными типами из строки "box" и выведите оба в одной строке.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить