public void 执行命令(M命令 __命令) { if (__命令.参数列表 != null && __命令.参数列表.Count > 0) { var __窗口 = new F输入参数(__命令, __实参 => { var __命令列表 = 合成命令(__命令, __实参); _正常输出缓存.AppendLine(); __命令列表.ForEach(q => _正常输出缓存.AppendLine(q)); _B命令行.执行(_进程标识, __命令列表); }); new F空窗口(__窗口, "输入参数").ShowDialog(); } else { if (!_进程已创建) { 创建进程(); } if (_进程已创建) { _正常输出缓存.AppendLine(); __命令.命令行列表.ForEach(q => _正常输出缓存.AppendLine(q)); _B命令行.执行(_进程标识, __命令.命令行列表); } } }
public F输入参数(M命令 __命令, Action <Dictionary <string, string> > __处理实参) { _命令 = __命令; _形参 = __命令.参数列表; _处理实参 = __处理实参; InitializeComponent(); }
public void 执行命令(M命令 __命令) { if (__命令.参数列表 != null && __命令.参数列表.Count > 0) { var __窗口 = new F输入参数(__命令, __实参 => _B命令行.执行(_进程标识, F命令行.合成命令(__命令, __实参))); new F空窗口(__窗口, "输入参数").ShowDialog(); } else { _B命令行.执行(_进程标识, __命令.命令行列表); } }
public static List <string> 合成命令(M命令 __命令, Dictionary <string, string> __参数 = null) { var __命令行列表 = __命令.命令行列表; if (__命令.参数列表 != null && __命令.参数列表.Count > 0 && __参数 != null) { __命令行列表 = new List <string>(__命令行列表); for (int i = 0; i < __命令行列表.Count; i++) { foreach (var item in __参数) { __命令行列表[i] = __命令行列表[i].Replace("<" + item.Key + ">", item.Value); } } } return(__命令行列表); }