/// <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);
}
}
}
从集合的最后一个元素开始移除,