/// <summary> /// Initializes a new instance of the <see cref="aceOperationArgs"/> class. /// </summary> /// <param name="__executor">The executor.</param> /// <param name="__menu">The menu.</param> /// <param name="__item">The item.</param> /// <param name="__method">The method.</param> /// <param name="__component">The component.</param> public aceOperationArgs(aceOperationSetExecutorBase __executor, aceMenuItemCollection __menu, aceMenuItem __item, MethodInfo __method, IAceComponent __component = null) { _executor = __executor; _menu = __menu; _item = __item; _method = __method; _component = __component; _itemMetaData = new aceMenuItemMeta(_method); _methodInfo = new settingsMemberInfoEntry(_method); _item.deployMeta(_itemMetaData, this); _paramSet = itemMetaData.cmdParams; }
/// <summary> /// Populates menu with provided <c>executor</c> /// </summary> /// <param name="executor">The executor: Console or Screen that performs operations</param> /// <param name="component">The specific component that is related to the execution of this menu</param> public void setItems(aceOperationSetExecutorBase executor, IAceComponent component = null, BindingFlags binding = BindingFlags.Public | BindingFlags.Instance) { var executorType = executor.GetType(); MethodInfo[] __methods = executorType.GetMethods(binding); foreach (var __m in __methods) { if (__m.Name.StartsWith(aceMenuItemMeta.METHOD_PREFIX)) { aceMenuItem item = new aceMenuItem(); var args = new aceOperationArgs(executor, this, item, __m, component); String displayName = __m.Name.removeStartsWith(aceMenuItemMeta.METHOD_PREFIX); item.itemName = displayName.removeStartsWith(args.methodInfo.categoryName); item.metaObject = args; item.index = Count; //item.group = ; Add(item); } } }