public IDataSubscribable GetDataSource(IDataSubscriber forWorker) { var argType = forWorker.GetType().GenericTypeArguments.FirstOrDefault(); var imp = _typeFinder.GetImplementation <IDataSubscribable>( argType, GetAllPublishers()); return(imp); }
public IDataSubscribable <TWorkItem> GetDataSource <TWorkItem>() { var tWork = typeof(TWorkItem); var imp = _typeFinder.GetImplementation <IDataSubscribable>(tWork, _openFuncs.OfType <IEnumerable>()); if (imp == null) { imp = _typeFinder.GetImplementation <IDataSubscribable>(tWork, _connectedFuncs.OfType <IEnumerable>()); } return(imp as IDataSubscribable <TWorkItem>); }