Size: a a a

var chat = new Chat();

2020 October 20

ВE

Виталий EasyMod... in var chat = new Chat();
Дженерик это шаблон, который при компиляции разворачивается в строго определённый тип
источник

VL

Vova Lantsov in var chat = new Chat();
Аля Ильина
типа чтобы это был объект того типа который я хочу
Интерфейс или базовый класс
источник

АИ

Аля Ильина in var chat = new Chat();
Alex Kiev
ты это можешь спрятать )
ну предположим я хочу после того как запихнуть string в контейнер заюзать Length
если внутри контейнера будет object то тут только пососать останеться)))
источник

ВE

Виталий EasyMod... in var chat = new Chat();
Тип дженерика нельзя поменять, это просто будет уже другой тип
источник

АИ

Аля Ильина in var chat = new Chat();
Виталий EasyMod
Дженерик это шаблон, который при компиляции разворачивается в строго определённый тип
да, это уже понятно)
спасибо)))
источник

AK

Alex Kiev in var chat = new Chat();
Аля Ильина
ну предположим я хочу после того как запихнуть string в контейнер заюзать Length
если внутри контейнера будет object то тут только пососать останеться)))
ты можешь сделать обвязку Item<T>.Value который будет возвращать тебе конкретный тип, а не object
источник

EG

Egor Gusarenko in var chat = new Chat();
Аля Ильина
ну предположим я хочу после того как запихнуть string в контейнер заюзать Length
если внутри контейнера будет object то тут только пососать останеться)))
(Convert.ToString(a)).Length
источник

VL

Vova Lantsov in var chat = new Chat();
Аля Ильина
ну предположим я хочу после того как запихнуть string в контейнер заюзать Length
если внутри контейнера будет object то тут только пососать останеться)))
Делаешь интерфейс ILengthAccessor, реализуешь в дженерике его свойство int Length { get; } и работаешь)
источник

АИ

Аля Ильина in var chat = new Chat();
Egor Gusarenko
Так сделать можно (dynamic хотя бы тот же)

Делать так на шарпах все равно что заваривать чай велосипедом
dynamic сгодиться для того чтобы создать единый контейнер (опять же, условный синглтон)?
источник

АИ

Аля Ильина in var chat = new Chat();
Alex Kiev
ты можешь сделать обвязку Item<T>.Value который будет возвращать тебе конкретный тип, а не object
ну я в любом случае делаю implicit cast и теряю данные
я это имею ввиду
источник

АИ

Аля Ильина in var chat = new Chat();
Egor Gusarenko
(Convert.ToString(a)).Length
да сгл, но потеря данных
источник

AK

Alex Kiev in var chat = new Chat();
Аля Ильина
ну я в любом случае делаю implicit cast и теряю данные
я это имею ввиду
что теряешь?
источник

AK

Alex Kiev in var chat = new Chat();
Ты будешь указывать, мол синглтон, отдайся как string и оно возвращает стринг
источник

VL

Vova Lantsov in var chat = new Chat();
Аля Ильина
ну я в любом случае делаю implicit cast и теряю данные
я это имею ввиду
Данные ты не теряешь, просто не можешь их вызвать напрямую когда используешь абстракцию
источник

AK

Alex Kiev in var chat = new Chat();
ну если может )
источник

АИ

Аля Ильина in var chat = new Chat();
Alex Kiev
что теряешь?
ну у меня был объект типа Piska со свойством Length, если я делаю каст к object то теряю данные объекта записанные в Length

поправьте если неправда
источник

AK

Alex Kiev in var chat = new Chat();
Аля Ильина
ну у меня был объект типа Piska со свойством Length, если я делаю каст к object то теряю данные объекта записанные в Length

поправьте если неправда
неправда
источник

AK

Alex Kiev in var chat = new Chat();
ничего не теряешь
источник

АИ

Аля Ильина in var chat = new Chat();
-_-

разве?)))

типа если я потом его преобразую в Piska, то свойство Length будет иметь прежнее значение?
источник

VL

Vova Lantsov in var chat = new Chat();
Аля Ильина
-_-

разве?)))

типа если я потом его преобразую в Piska, то свойство Length будет иметь прежнее значение?
Да
источник