private void RegisterRepository(TinyIoCContainer container) { var v = TypeScanner .GetTypesOf <IRepository>(); v.ForEach(type => { var interfaceType = type .GetInterfaces() .First(x => x != typeof(IRepository)); var isRadioSong = typeof(ISongRepository) == interfaceType || typeof(IRadioSongRepository) == interfaceType; var instance = Activator .CreateInstance(type, container.Resolve <IProvider>(isRadioSong ? "song" : "domain"), container.Resolve <IDbParameter>()); container.Register(interfaceType, instance); }); }