void AddModelType(ModelFile file, string typeNs, ModelType m) { ModelNamespace modelNs = file.Namespaces.Find(x => x.Name == typeNs); if (modelNs == null) { file.Namespaces.Add(modelNs = new ModelNamespace { Name = typeNs }); } modelNs.Types.Add(m); }
ModelFile GetMetadata() { var file = new ModelFile(); MetadataReader reader = _reader.Value.Reader; foreach (TypeDefinitionHandle htype in reader.TypeDefinitions) { TypeDefinition type = reader.GetTypeDefinition(htype); if (!type.GetDeclaringType().IsNil) continue; AddType(type, (m, typeNs) => AddModelType(file, typeNs, m)); } return file; }