void AddItem(CommandArrayInfo cis, CodeFixMenuEntry item) { if (item == CodeFixMenuEntry.Separator) { if (cis.Count == 0) { return; } cis.AddSeparator(); } else if (item is CodeFixMenu) { var menu = (CodeFixMenu)item; var submenu = new CommandInfoSet { Text = menu.Label }; foreach (var subItem in menu.Items) { AddItem(submenu.CommandInfos, subItem); } cis.Add(submenu, item.Action); } else { var info = new CommandInfo(item.Label); info.Enabled = item.Action != null; cis.Add(info, item.Action); } }
void AddItem(CommandInfoSet cis, CodeFixMenuEntry item) { if (item == CodeFixMenuEntry.Separator) { if (cis.CommandInfos.Count == 0) { return; } cis.CommandInfos.AddSeparator(); } else { cis.CommandInfos.Add(new CommandInfo(item.Label), item.Action); } }