Size: a a a

2021 January 15

M

Marat in unity3d.ru
Oleg Morozov
всё работает, ну работало во всяком случае
Или я туплю и неверно ошибку прочитал?
источник

OM

Oleg Morozov in unity3d.ru
Marat
Или я туплю и неверно ошибку прочитал?
покажи код, куда ты аттрибуты повесил
источник

M

Marat in unity3d.ru
Oleg Morozov
покажи код, куда ты аттрибуты повесил
источник

OM

Oleg Morozov in unity3d.ru
ну давай чисто логически, к чему твой Q должен примениться?
источник

M

Marat in unity3d.ru
Oleg Morozov
ну давай чисто логически, к чему твой Q должен примениться?
К этим биндам
источник

OM

Oleg Morozov in unity3d.ru
ко всем аргументам?
забиндил то ты несколько только с таким индентификаторам
источник

M

Marat in unity3d.ru
ко всем
источник

OM

Oleg Morozov in unity3d.ru
но у тебя нет стейтмашины с таким, рендерером, трансформов с таким идентификатором
источник

M

Marat in unity3d.ru
Это не все бинды, есть еще обжект контекст, то был сцен контекст
источник

M

Marat in unity3d.ru
Или чтобы внедрение в метод с id работал надо прямо все аргументы забиндить с таким же Id?
источник

OM

Oleg Morozov in unity3d.ru
представь как разработчик DI фреймворка может такое релизовать
в адекватном виде - никак, такой граф зависимостей не валидируются нормально, а это основная идеология зенжекта
источник

OM

Oleg Morozov in unity3d.ru
да, надо каждый аргумент разметить отдельно
источник

OM

Oleg Morozov in unity3d.ru
в твоем случае два
источник

OM

Oleg Morozov in unity3d.ru
чтоб зенжект знал, что для этих двух, нужно вынимать по айди из контейнера
источник

OM

Oleg Morozov in unity3d.ru
ну или трех, сколько у тебя их
источник

M

Marat in unity3d.ru
Marat
Допустим я забиндил какой-то тип из инстанса. Потом еще один. В два методах двух разных классов есть аргумент этого типа. Как указать, в какой метод какой инстанс должен пихаться? Id для методов не работают =(
Id - это основной способ при разрешении такой неоднозначности?
источник

OM

Oleg Morozov in unity3d.ru
можно локальные контейнеры создавать и резолвить из них
источник

OM

Oleg Morozov in unity3d.ru
вообще Id это моветон в большинстве DI фреймворков, чисто костыль, чтоб если понадобится
источник

M

Marat in unity3d.ru
Локальный контейнер == subContainer?
источник

OM

Oleg Morozov in unity3d.ru
обходится двумя путями
1) сложной композицией контейнеров
2) либо созданием менеджеров/фабрик, которые в себе содержат коллекции/множества элементов
в итоге вместо инстанса по айди, ты инжектишь менеджер и из него уже вынимаешь нужные тебе элементы в удобном виде
источник