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; }