170 похожих чатов

Гайс, чет я туплю, но если интерфейс выглядит так

public interface Test
{
A Name { get; set; }
}

я разве при реализации не могу объявить B Name, где B наследник A?
тут только через дженерики и ковариантность?

12 ответов

17 просмотров

нет не можешь из за сета)

Роман-Соловьев Автор вопроса
Роман Соловьев
screenshot с get тоже не дает

свойствам вообще не дает по причине выше

Роман Соловьев
screenshot с get тоже не дает

В реализации если нет set, то можно засунуть внутрь что угодно, но тип свойства менять нельзя Т.е. можно сделать вида Interface { get { return new Implementation(); }}

а чем дженерики не нравятся?

Роман-Соловьев Автор вопроса
Tony Werner
а чем дженерики не нравятся?

Тык я хотел в интерфейсе написать IEnumerable, а при реализации заюзать List, а так нельзя, надо городить

Роман Соловьев
Тык я хотел в интерфейсе написать IEnumerable, а п...

Так можно. Но Вы не такое пробовали до этого сделать)

Роман Соловьев
А как?

interface Int { IEnumerable<int> Ids { get; } } class Impl : Int { private readonly List<int> List = new List<int>(); public IEnumerable<int> Ids => this.List; }

Роман-Соловьев Автор вопроса
Oleg Safonov
interface Int { IEnumerable<int> Ids { get; } ...

Ну вот, это все равно через доп св-ва) т.е. городить

Роман Соловьев
Ну вот, это все равно через доп св-ва) т.е. городи...

Это нормально, это не городить, это вы скрываете реализацию)

Роман Соловьев
Ну вот, это все равно через доп св-ва) т.е. городи...

interface Int<T> { T Ids { get; } } class Impl : Int<List<int>> { List<int> Ids { get; } } Но выглядит хуже)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
15
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта