/// <summary> /// Добавляет значение в переданный объект /// </summary> /// <param name="target">Целевой объект</param> /// <param name="data">Массив соответствующий входной строке данных</param> /// <param name="mapLine">Строка карты</param> public static void AddValue(ref JObject target, string[] data, MapLine mapLine) { switch (mapLine.TypeValue) { //TODO: Точка врезки новых типов case "int": CreateToken <int>(mapLine.Path.Split('.'), ref target, Convert.ToInt32(data[mapLine.PositionInt])); break; case "decimal": CreateToken <decimal>(mapLine.Path.Split('.'), ref target, Convert.ToDecimal(data[mapLine.PositionInt])); break; case "date": CreateToken <DateTime>(mapLine.Path.Split('.'), ref target, DateTime.Parse(data[mapLine.PositionInt])); break; default: CreateToken <string>(mapLine.Path.Split('.'), ref target, data[mapLine.PositionInt]); break; } }
/// <summary> /// Метод чтения файла из /// </summary> /// <param name="rdr"></param> /// <returns></returns> public static List <MapLine> Read(StreamReader rdr) { List <MapLine> result = new List <MapLine>(); var line = rdr.ReadLine(); while (line != null) { var cols = line.Split(';'); MapLine temp = new MapLine() { Name = cols[0], Position = cols[1], TypeValue = cols[2], RequiredValue = cols[3], Path = cols[4], }; result.Add(temp); line = rdr.ReadLine(); } return(result); }