コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }