Добавить модуль Ninject в существующее ядро - PullRequest
2 голосов
/ 02 декабря 2011

У меня есть сценарий, в котором у меня есть набор функций в приложении, которые включаются и отключаются на основе сетевых устройств, присутствующих в сети.Я использую Ninject для управления моим текущим деревом функций в приложении.

Что я хочу сделать, так это иметь возможность добавлять и удалять набор привязок к моему ядру во время работы приложения.Я хотел бы использовать что-то вроде модуля Ninject, чтобы иметь возможность связывать их вместе, однако я не могу понять, как добавить / удалить модуль из существующего ядра.

Кто-нибудь знает, как это сделать илиесть лучший вариант?

1 Ответ

2 голосов
/ 02 декабря 2011

Не пытайтесь добавлять / удалять после первого разрешения!Ядро должно быть полностью сконфигурировано перед разрешением объектов, и конфигурация не должна больше изменяться после первого разрешения .

Вместо этого используйте условные привязки:

Bind<INetworkDevice>().To<NetworkPrinter>().When(ctx => PrinterIsEnabled());
...