/// <summary> /// 启动解析 /// </summary> public void Parse() { if (_recognizerList == null || _molecule == null) { return; } // 1.进行解析 foreach (var recognizer in _recognizerList) { recognizer.Molecule = _molecule; recognizer.Parse(); } // 2.结算结果 DefinedFragment = new Dictionary <string, int>(); UndefineFragment = new Dictionary <string, int>(); foreach (var paserItem in _recognizerList) { if (paserItem.DefinedFragment != null && paserItem.DefinedFragment.Count != 0) { foreach (var item in paserItem.DefinedFragment) { if (!DefinedFragment.ContainsKey(item.Key)) { DefinedFragment.Add(item.Key, item.Value); } else { DefinedFragment[item.Key] += item.Value; } } } if (paserItem.UndefinedFragment != null && paserItem.UndefinedFragment.Count != 0) { foreach (var item in paserItem.UndefinedFragment) { if (!UndefineFragment.ContainsKey(item.Key)) { UndefineFragment.Add(item.Key, item.Value); } else { UndefineFragment[item.Key] += item.Value; } } } } SplitEnd?.Invoke(this, new SplitEndEventArgs { Molecule = _molecule, DefinedFragment = DefinedFragment, UndefinedFragment = UndefineFragment }); }
public TimeSpan getDuration() { return(SplitEnd.Subtract(SplitStart)); }