示例#1
0
        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));
                }
            }
        }
示例#2
0
 public static IEnumerable <IMetadata> Deserialize(string line, MetadataType type)
 {
     return(ToStringList(line).Select(s => Metadata.Get(type, s)).Cast <IMetadata>().ToList());
 }