public M方法(string __名称, List<M形参> __参数列表 = null, M元数据 __返回值元数据 = null, E角色 __角色 = E角色.开发) { this.名称 = __名称; this.形参列表 = __参数列表; this.返回值元数据 = __返回值元数据; this.角色 = __角色; }
public M方法(string __名称, List <M形参> __参数列表 = null, M元数据 __返回值元数据 = null, E角色 __角色 = E角色.开发) { this.称 = __名称; this.形参列表 = __参数列表; this.返回值元数据 = __返回值元数据; this.角色 = __角色; }
private void 设置对象列表控件(TreeView __控件, M对象列表查询结果 __对象列表, E角色 __角色) { var __分类节点 = new Dictionary <string, TreeNode>(); var __数量 = 0; __对象列表.ForEach(q => { if ((q.角色 & __角色) == __角色) { __数量++; TreeNode __node; if (string.IsNullOrEmpty(q.分类)) { __node = __控件.Nodes.Add(q.称); } else { if (!__分类节点.ContainsKey(q.分类)) { __分类节点[q.分类] = __控件.Nodes.Add(q.分类); } __node = __分类节点[q.分类].Nodes.Add(q.称); } __node.Tag = q; } }); if (__数量 < 30) { __控件.ExpandAll(); } }
public F对象(string __对象名称, M对象明细查询结果 __对象明细, IT客户端 __访问入口, E角色 __角色) { 对象名称 = __对象名称; 对象明细 = __对象明细; 访问入口 = __访问入口; 角色 = __角色; InitializeComponent(); }
public F对象(string __对象名称, M对象明细 __对象明细, IT客户端 __访问入口, E角色 __角色) { _对象名称 = __对象名称; _对象明细 = __对象明细; _访问入口 = __访问入口; _角色 = __角色; InitializeComponent(); }
public F对象窗口(string __对象名称, M对象明细 __对象明细, IT客户端 __访问入口, E角色 __角色) { _对象名称 = __对象名称; _对象明细 = __对象明细; _访问入口 = __访问入口; _角色 = __角色; InitializeComponent(); this.out标题.Text = __对象名称; }
public F对象窗口(string __对象名称, M对象明细查询结果 __对象明细, IT客户端 __访问入口, E角色 __角色) { InitializeComponent(); this.out标题.Text = __对象名称; this.f对象1.对象名称 = __对象名称; this.f对象1.对象明细 = __对象明细; this.f对象1.访问入口 = __访问入口; this.f对象1.角色 = __角色; }
public void 更新角色(E角色 __角色) { 角色 = __角色; 显示属性(对象明细.属性列表); this.out容器.Panel1Collapsed = this.out属性.Rows.Count == 0; if (对象明细.方法列表.Count == 0 && 对象明细.事件列表.Count == 0) { this.out容器.Panel2Collapsed = true; } else { this.out容器.Panel2Collapsed = false; this.out方法列表.TabPages.Clear(); 对象明细.方法列表.ForEach(q => { if ((q.角色 & 角色) != 角色) { return; } var __方法控件 = new F对象_方法(访问入口, 对象名称, q) { Dock = DockStyle.Fill }; //__方法控件.执行方法 += k => __方法控件.设置返回值(_访问入口.执行方法(_对象名称, q.名称, k)); var __控件 = new TabPage(q.称) { Padding = new Padding(5), BackColor = Color.White, ToolTipText = q.称 }; __控件.Controls.Add(__方法控件); this.out方法列表.TabPages.Add(__控件); }); 对象明细.事件列表.ForEach(q => { if ((q.角色 & 角色) != 角色) { return; } var __事件控件 = new F对象_事件(访问入口, 对象名称, q) { Dock = DockStyle.Fill }; var __控件 = new TabPage(q.称) { Padding = new Padding(5), BackColor = Color.White, ToolTipText = q.称 + "(事件)", ImageIndex = 0 }; __控件.Controls.Add(__事件控件); this.out方法列表.TabPages.Add(__控件); }); } }
private static void 初始化命令列表(M设备 __设备, E角色 __工程) { __设备.命令列表控件.Nodes.Clear(); if (!__设备.访问入口.连接正常) { __设备.访问入口.连接(new IPEndPoint(__设备.IP, __设备.端口号)); if (!Equals(__设备.IP, IPAddress.Loopback)) { Thread.Sleep(1000); //当前因为LINUX设备端有延时? 需要停顿一下才能发送 } } var __对象列表 = __设备.访问入口.查询可访问对象().对象列表.Where(q => (q.角色 & __工程) == __工程).ToList(); __对象列表.Sort((m, n) => { if (m.分类.CompareTo(n.分类) != 0) { return(m.分类.CompareTo(n.分类)); } return(m.称.CompareTo(n.称)); }); var __分类节点 = new Dictionary <string, TreeNode>(); __对象列表.ForEach(q => { TreeNodeCollection __nodes; if (string.IsNullOrEmpty(q.分类)) { __nodes = __设备.命令列表控件.Nodes; } else { if (!__分类节点.ContainsKey(q.分类)) { __分类节点[q.分类] = __设备.命令列表控件.Nodes.Add(q.分类); } __nodes = __分类节点[q.分类].Nodes; } var __方法列表 = __设备.访问入口.查询对象明细(q.称).方法列表; __方法列表.ForEach(k => { if ((k.角色 & __工程) == __工程) { __nodes.Add(string.Format("{0}.{1}", q.称, k.称)).Tag = new Tuple <string, M方法>(q.称, k); } }); }); __设备.命令列表控件.ExpandAll(); }
private static void 初始化命令列表(M设备 __设备, E角色 __工程) { __设备.命令列表控件.Nodes.Clear(); if (!__设备.访问入口.连接正常) { __设备.访问入口.连接(new IPEndPoint(__设备.IP, __设备.端口号)); if (!Equals(__设备.IP, IPAddress.Loopback)) { Thread.Sleep(1000); //当前因为LINUX设备端有延时? 需要停顿一下才能发送 } } var __对象列表 = __设备.访问入口.查询可访问对象().对象列表.Where(q => (q.角色 & __工程) == __工程).ToList(); __对象列表.Sort((m, n) => { if (m.分类.CompareTo(n.分类) != 0) { return m.分类.CompareTo(n.分类); } return m.名称.CompareTo(n.名称); }); var __分类节点 = new Dictionary<string, TreeNode>(); __对象列表.ForEach(q => { TreeNodeCollection __nodes; if (string.IsNullOrEmpty(q.分类)) { __nodes = __设备.命令列表控件.Nodes; } else { if (!__分类节点.ContainsKey(q.分类)) { __分类节点[q.分类] = __设备.命令列表控件.Nodes.Add(q.分类); } __nodes = __分类节点[q.分类].Nodes; } var __方法列表 = __设备.访问入口.查询对象明细(q.名称).方法列表; __方法列表.ForEach(k => { if((k.角色 & __工程) == __工程) { __nodes.Add(string.Format("{0}.{1}", q.名称, k.名称)).Tag = new Tuple<string, M方法>(q.名称, k); } }); }); __设备.命令列表控件.ExpandAll(); }
public void 更新角色(E角色 __角色) { _角色 = __角色; 显示属性(_对象明细.属性列表); this.out容器.Panel1Collapsed = this.out属性.Rows.Count == 0; if (_对象明细.方法列表.Count == 0 && _对象明细.事件列表.Count == 0) { this.out容器.Panel2Collapsed = true; } else { this.out容器.Panel2Collapsed = false; this.out方法列表.TabPages.Clear(); _对象明细.方法列表.ForEach(q => { if ((q.角色 & _角色) != _角色) { return; } var __方法控件 = new F对象_方法(_访问入口, _对象名称, q) { Dock = DockStyle.Fill }; //__方法控件.执行方法 += k => __方法控件.设置返回值(_访问入口.执行方法(_对象名称, q.名称, k)); var __控件 = new TabPage(q.名称) { Padding = new Padding(5), BackColor = Color.White, ToolTipText = q.名称 }; __控件.Controls.Add(__方法控件); this.out方法列表.TabPages.Add(__控件); }); _对象明细.事件列表.ForEach(q => { if ((q.角色 & _角色) != _角色) { return; } var __事件控件 = new F对象_事件(_访问入口, _对象名称, q) { Dock = DockStyle.Fill }; var __控件 = new TabPage(q.名称) { Padding = new Padding(5), BackColor = Color.White, ToolTipText = q.名称 + "(事件)", ImageIndex = 0 }; __控件.Controls.Add(__事件控件); this.out方法列表.TabPages.Add(__控件); }); } }
private void 设置对象列表控件(TreeView __控件, M对象列表 __对象列表, E角色 __角色) { var __分类节点 = new Dictionary<string, TreeNode>(); var __数量 = 0; __对象列表.对象列表.ForEach(q => { if ((q.角色 & __角色) == __角色) { __数量++; TreeNode __node; if (string.IsNullOrEmpty(q.分类)) { __node = __控件.Nodes.Add(q.名称); } else { if (!__分类节点.ContainsKey(q.分类)) { __分类节点[q.分类] = __控件.Nodes.Add(q.分类); } __node = __分类节点[q.分类].Nodes.Add(q.名称); } __node.Tag = q; } }); if (__数量 < 30) { __控件.ExpandAll(); } }
public M事件() { 角色 = E角色.开发; }
public M事件(string __名称, List <M形参> __参数列表 = null, E角色 __角色 = E角色.开发) { this.称 = __名称; this.形参列表 = __参数列表; this.角色 = __角色; }
public M属性(string __名称, M元数据 __元数据, E角色 __角色 = E角色.开发) : this(__名称) { this.元数据 = __元数据; this.角色 = __角色; }
public M方法() { 角色 = E角色.开发; }
public void 添加方法(string __名称, Func <Dictionary <string, string>, IPEndPoint, string> __执行方法, E角色 __角色 = E角色.开发, List <M形参> __参数列表 = null, M元数据 __返回值元数据 = null) { this.角色 = this.角色 | __角色; _所有方法_带地址[__名称] = __执行方法; this.明细.方法列表.Add(new M方法(__名称, __参数列表, __返回值元数据, __角色)); }
public void 添加属性(string __名称, Func <string> __计算值, E角色 __角色 = E角色.开发, M元数据 __元数据 = null) { this.角色 = this.角色 | __角色; this.明细.属性列表.Add(new M属性(__名称, __元数据, __角色)); _所有属性方法[__名称] = __计算值; }
public void 添加事件(string __名称, E角色 __角色 = E角色.开发, List <M形参> __参数列表 = null) { this.角色 = this.角色 | __角色; this.明细.事件列表.Add(new M事件(__名称, __参数列表, __角色)); }
public void 添加方法(string __名称, Func<Dictionary<string, string>, IPEndPoint, string> __执行方法, E角色 __角色 = E角色.开发, List<M形参> __参数列表 = null, M元数据 __返回值元数据 = null) { this.角色 = this.角色 | __角色; _所有方法_带地址[__名称] = __执行方法; this.明细.方法列表.Add(new M方法(__名称, __参数列表, __返回值元数据, __角色)); }
public void 添加属性(string __名称, Func<string> __计算值, E角色 __角色 = E角色.开发, M元数据 __元数据 = null) { this.角色 = this.角色 | __角色; this.明细.属性列表.Add(new M属性(__名称, __元数据, __角色)); _所有属性方法[__名称] = __计算值; }
public void 添加事件(string __名称, E角色 __角色 = E角色.开发, List<M形参> __参数列表 = null) { this.角色 = this.角色 | __角色; this.明细.事件列表.Add(new M事件(__名称, __参数列表, __角色)); }
public M属性() { 角色 = E角色.开发; }
public M事件(string __名称, List<M形参> __参数列表 = null, E角色 __角色 = E角色.开发) { this.名称 = __名称; this.形参列表 = __参数列表; this.角色 = __角色; }