/// <summary> /// 判断是否存在元素 /// </summary> /// <param name="Key">唯一键</param> /// <param name="MatchName">匹配的名称</param> /// <param name="EventType">事件枚举类型</param> /// <param name="Helper">事件帮助类</param> /// <returns>是否存在</returns> public bool ContainsKey(object Key, string MatchName, SEEvent EventType, out SolidEdgeDocumentEventHelper Helper) { Helper = null; if (_mDicOccurrenceEvent.TryGetValue(Key, out var Lists)) { if (Lists.Count == 0) { return(false); } var list = Lists.Where(x => MatchName.Equals(x[0] + "") && EventType == (SEEvent)x[1]).FirstOrDefault(); if (list == null) { return(false); } if (list.Count < 3) { throw new Exception("元素不匹配"); } else { Helper = (SolidEdgeDocumentEventHelper)list[2]; } return(true); } return(false); }
/// <summary> /// 添加元素 /// </summary> /// <param name="Key">唯一键</param> /// <param name="MatchName">匹配的Occurrence名称</param> /// <param name="EventType">事件枚举类型</param> /// <param name="Helper">文档事件帮助类</param> public void AddElement(object Key, string MatchName, SEEvent EventType, SolidEdgeDocumentEventHelper Helper) { if (_mDicOccurrenceEvent.TryGetValue(Key, out var Lists)) { Lists.Add(new List <object>() { MatchName, EventType, Helper }); } else { _mDicOccurrenceEvent.Add(Key, new List <List <object> >() { new List <object>() { MatchName, EventType, Helper } }); } }