/// <summary> /// 过滤菜单,将不需要查询显示的菜单禁止显示 /// </summary> /// <param name="menus"></param> private static void RemoveMenu(SysMenuItem menu) { if (menu.Children == null || menu.Children.Count == 0) return; for (int i = menu.Children.Count - 1; i >= 0; i--) { var item = menu.Children[i]; //如果不能显示为菜单则移除 if (!item.IsVisible || item.FuncType == FuncType.TabPage) { menu.Children.Remove(item); } else { RemoveMenu(item); } } }
从集合的最后一个元素开始移除,