public void MakeChain(string line) { //Match m = Regex.Match( strLine, chain, RegexOptions.Compiled ); //if( m.Success ) //{ Hashtable bounds = Boundary.Boundaries(line); foreach (ArrayList depth in bounds.Values) { string dLine = ""; int index = 0; int lastIndex = 0; foreach (Boundary b in depth) { dLine += line.Substring(index, (b.start - index) + 1); if (b.end > index) { index = b.end; lastIndex = b.end; } } if (lastIndex < line.Length - 1) { dLine += line.Substring(lastIndex, line.Length - lastIndex); } string chainLine = GetChainPart(dLine); int periodCount = CountPeriod(chainLine); if (periodCount > 3) { if (!m_htMessageChains.ContainsKey(chainLine)) { m_htMessageChains[chainLine] = new MessageChainComponent(chainLine, periodCount); } MessageChainComponent comp = (MessageChainComponent)m_htMessageChains[chainLine]; comp.Count++; } } }