public void LoadMapping() { if (!File.Exists(MappingFilePath)) { return; } _mapping = new Dictionary <string, IMetadata>(); using (var handle = new StreamReader(MappingFilePath)) { handle.ReadLine(); // Skip header line while (!handle.EndOfStream) { var line = handle.ReadLine(); Debug.Assert(line != null, "line != null"); var elements = line.Split(new[] { Separator.ToCharArray()[0] }); if (elements.Length < 2) { continue; } var category = elements[0]; var mapTo = elements[1]; var mappingsTo = elements.Skip(2); mappingsTo.ToList().ForEach(el => _mapping[el] = Metadata.Get(MetadataType.Get(category), mapTo)); } } }
public static IEnumerable <IMetadata> Deserialize(string line, MetadataType type) { return(ToStringList(line).Select(s => Metadata.Get(type, s)).Cast <IMetadata>().ToList()); }