public XmlDictionaryReader GetReaderAtHeader(int index)
{
if (index >= l.Count)
{
throw new ArgumentOutOfRangeException(String.Format("Index is out of range. Current header count is {0}", index));
}
MessageHeader item = (MessageHeader)l [index];
XmlReader reader =
item is MessageHeader.RawMessageHeader ?
((MessageHeader.RawMessageHeader)item).CreateReader() :
XmlReader.Create(
new StringReader(item.ToString()),
reader_settings);
reader.MoveToContent();
XmlDictionaryReader dr = XmlDictionaryReader.CreateDictionaryReader(reader);
dr.MoveToContent();
return(dr);
}