protected override void ParseName(XName name) { Name = name.LocalName.Split('.')[1]; Type = GetPropertyType(Name, Parent.Type); // is it a collection? if (typeof(IEnumerable).IsAssignableFrom(Type) && Type != typeof(string)) { m_child = new PropertyCollectionParser(State, Parent); } else { m_child = new PropertyObjectParser(State, Parent); } m_child.ParseName(name); }