public override object GetValue(int i) { switch (i) { case 0: return(CurrentElement.GuidFromValue <Guid>()); case 1: return(CurrentElement.Element("Region").IntFromValue <int>()); case 2: return(CurrentElement.Element("AreaCode").Value); case 3: return(CurrentElement.Element("AreaName").Value); default: throw new InvalidOperationException("Column count mismatch."); } }