static MenuItem CreateMenuItem2(MethodInfo member) { var displayname = CommandAttribute.GetCommandDisplayName(member); var item = new MenuItem(); item.Header = displayname; item.Click += (s, e) => { var ins = Activator.CreateInstance(member.DeclaringType); member.Invoke(ins, new object[] { }); }; return(item); }
static MenuItem CreateMenuItem(Type type) { var displayname = CommandAttribute.GetCommandDisplayName(type); var item = new MenuItem(); item.Header = displayname; var methods = from m in type.GetMethods() where CommandAttribute.GetCommandDisplayName(m) != null select m; foreach (var m in methods) { item.Items.Add(CreateMenuItem2(m)); } return(item); }