static void FillType(DocType type, KeyValuePair<GacUDT, DocTypeInfo> info, DocRootNamespace root, Dictionary<string, GacUDT> udts, HashSet<GacUDT> hashUdts)
 {
     type.UdtDocItem = info.Value.TypeDocItem;
     type.BaseTypes = info.Key
         .BaseClasses
         .Where(b => b.Access != GacAccess.Private)
         .Where(b => hashUdts.Contains(b.UDT))
         .Select(b => new DocBaseType
         {
             Type = root.GetType(b.UDT, udts),
             BaseClass = b,
         })
         .ToArray();
     foreach (var m in info.Value.Fields)
     {
         BuildField(type, m);
     }
     foreach (var m in info.Value.Methods)
     {
         BuildFunction(type, m);
     }
 }
 public DocType GetType(string name)
 {
     DocType type = null;
     if (!this.Types.TryGetValue(name, out type))
     {
         type = new DocType() { Name = name };
         this.Types.Add(type.Name, type);
     }
     return type;
 }