Пример #1
0
        public static LayoutMenu FirstNested(this IEnumerable <LayoutMenu> menus, Func <LayoutMenu, bool> func)
        {
            var mLi = menus.ToList();

            OutMenu = mLi.FirstOrDefault(func);
            if (OutMenu != null)
            {
                return(OutMenu);
            }
            DelegateFirst(mLi, func);
            return(OutMenu);
        }
Пример #2
0
 private static void DelegateFirst(List <LayoutMenu> menus, Func <LayoutMenu, bool> func)
 {
     menus.ForEach(menu =>
     {
         var m = menu.SubMenus.FirstOrDefault(func);
         if (m != null)
         {
             OutMenu = m;
             return;
         }
         if (menu.SubMenus.Any())
         {
             DelegateFirst(menu.SubMenus, func);
         }
     });
 }