public Device(DeviceOption option, IEnumerable <IExchange <TIn> > exchanges, IEventBus eventBus, Func <ProduserOption, Owned <IProduser> > produser4DeviceRespFactory, ProduserOption produser4DeviceOption, ILogger logger) { Option = option; Exchanges = exchanges.ToList(); _eventBus = eventBus; _logger = logger; var produserOwner = produser4DeviceRespFactory(produser4DeviceOption); _produserOwner = produserOwner; //можно создать/удалить produser в любое время используя фабрику и Owner _produser = produserOwner.Value; TopicName4MessageBroker = null; }
public void AddProduser(string key, IProduser <BaseProduserOption> value, IDisposable owner) { _produsersDict[key] = new ProduserOwner { Produser = value, Owner = owner }; }