Size: a a a

var chat = new Chat();

2021 August 12

Ɖ

Ɖrēw in var chat = new Chat();
Делать из DI синглтон это плохая затея
источник

E

Etki in var chat = new Chat();
Зачем ты работаешь с этим как со строкой? Надо начать уже с того что аргументы это как минимум список, и тебе не с индексами копаться надо, а с одним элементом списка
источник

ВО

Влад Ого in var chat = new Chat();
и как тогда в екстеншн методе его заюзать?
источник

Ɖ

Ɖrēw in var chat = new Chat();
Я не понял зачем тебе экстеншн методы. это смахивает на события обычные
источник

н

назови меня клоуном... in var chat = new Chat();
ладно, согласен
источник

н

назови меня клоуном... in var chat = new Chat();
перепишу седня вечерком
источник

Ɖ

Ɖrēw in var chat = new Chat();
Подвязываешься на них в своей логике и делаешь что тебе там надо
источник

ВО

Влад Ого in var chat = new Chat();
тогда писать хелпер класс, который в зависимостях получит контектс, но все равно в те методы надо будет передавать в параметрах класс, на который сейчас екстеншн написаны (опустим частный момент что тгКлиента я тоже с зависимостей могу получить)
источник

ВО

Влад Ого in var chat = new Chat();
в ивенте через ди можно получить зависимости?
источник

ВО

Влад Ого in var chat = new Chat();
может оно и плохо, но мне почему-то паттерн сервисЛокатор нравится. Не нужно вечно десятки зависимостей писать, а только по факту использования
источник

Ɖ

Ɖrēw in var chat = new Chat();
Я с ивентами давно не работал. но алгоритм таков:
1. Зарегать класс с ивентами как синглтон
2. Создать класс который будет в себе содержать параметры которые передаются с вызовом ивента (то что ты будешь класть в ивент на вызове)
3. В сервисе где нужно слушать ивенты в конструкторе прицепиться к ним через +=
Ну и собственно вызывать их когда нужно
источник

Ɖ

Ɖrēw in var chat = new Chat();
Нужно только аккуратно со скоупами. не проебаться. чтобы класс листенер ивентов жил все приложение
источник

Ɖ

Ɖrēw in var chat = new Chat();
Ну или по крайней мере тогда когда ивент вызывается
источник

Ɖ

Ɖrēw in var chat = new Chat();
В теории его сборщик не заберет из-за ссылок на делегатв в ивентах
источник

Ɖ

Ɖrēw in var chat = new Chat();
Но тут проблема может быть из-за scoped контекста
источник

YN

Yurii Nskyi in var chat = new Chat();
проще наверное какой-нибудь MediatR использовать и паблишить нотификаций сколько угодно
источник

Ɖ

Ɖrēw in var chat = new Chat();
Да. так будет проще
источник

YM

Yury Morozov in var chat = new Chat();
Проще без всего этого будет)
источник

YM

Yury Morozov in var chat = new Chat();
Не нужно усложнять
источник

ВО

Влад Ого in var chat = new Chat();
А вот чем плох сервисЛокатор кроме как неочевидности зависимостей?
источник