private IEnumerable <IEnumerable <string> > GetImageSets(string menuName) { foreach (var provider in _navigationProviders) { if (provider.MenuName == menuName) { var builder = new NavigationBuilder(); IEnumerable <string> imageSets = null; try { provider.GetNavigation(builder); imageSets = builder.BuildImageSets(); } catch (Exception ex) { if (ex.IsFatal()) { throw; } Logger.Error(ex, "Unexpected error while querying a navigation provider. It was ignored. The menu provided by the provider may not be complete."); } if (imageSets != null) { yield return(imageSets); } } } }
private IEnumerable <IEnumerable <string> > GetImageSets(string menuName) { foreach (var provider in _navigationProviders) { if (provider.MenuName != menuName) { continue; } var builder = new NavigationBuilder(); IEnumerable <string> imageSets = null; try { provider.GetNavigation(builder); imageSets = builder.BuildImageSets(); } catch (Exception ex) { Logger.Error(ex, "意外的错误在查询导航提供商。它被忽略。由供应商提供的菜单可能不完整。"); } if (imageSets != null) { yield return(imageSets); } } }