/// <summary> /// 解析外部依赖条件(Import) /// </summary> private void ParseImport(Line line) { string[] strs = line.Content.Split(new string[] { " ", "\"", ";" }, StringSplitOptions.RemoveEmptyEntries); if (strs.Length > 1 && strs[0].Equals("import")) { string import = strs[1]; if (import.Equals(FileName)) { throw new ProtoBufferException(string.Format("不能添加自己作为依赖条件。{0}", line.ToString())); } bool find = false; foreach (ProtoBufferFile file in Dic.Files) { if (file.FileName.EndsWith(import)) { Import.Add(file); find = true; break; } } if (!find) { throw new ProtoBufferException(string.Format("添加外部依赖条件错误:{0}", line.ToString())); } } else { throw new ProtoBufferException(string.Format("不能解析依赖条件:{0}", line.ToString())); } }
public OBO_Header(List <KeyValuePair <string, string> > data = null) { if (data != null) { foreach (var datum in data) { switch (datum.Key.ToLower()) { case "format-version": FormatVersion = datum.Value; break; case "data-version": DataVersion = datum.Value; break; case "version": Version = datum.Value; break; case "date": Date = datum.Value; break; case "saved-by": SavedBy = datum.Value; break; case "auto-generated-by": AutoGeneratedBy = datum.Value; break; case "import": Import.Add(datum.Value); break; case "subsetdef": SubsetDef.Add(datum.Value); break; case "synonymtypedef": SynonymTypeDef.Add(datum.Value); break; case "default-namespace": DefaultNamespace = datum.Value; break; case "idspace": IdSpace.Add(datum.Value); break; case "default-relationship-id-prefix": DefaultRelationshipIdPrefix.Add(datum.Value); break; case "id-mapping": IdMapping.Add(datum.Value); break; case "remark": Remark.Add(datum.Value); break; default: Other.Add(datum); break; } } } }