示例#1
0
文件: DC.cs 项目: airbrush/CSD
 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);
 }
示例#2
0
文件: DC.cs 项目: airbrush/CSD
        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;
        }