public ClassContext(Type type, Conventions conventions = null, Tags tagsFilter = null, string tags = null) : base(type.CleanName(), tags) { this.type = type; this.conventions = conventions ?? new DefaultConventions().Initialize(); this.tagsFilter = tagsFilter; if (type != typeof(nspec)) { classHierarchyToClass.AddRange(type.GetAbstractBaseClassChainWithClass()); } }
public ClassContext CreateClassContext(Type type) { var tagAttributes = ((TagAttribute[])type.GetCustomAttributes(typeof(TagAttribute), false)).ToList(); tagAttributes.Add(new TagAttribute(type.Name)); type.GetAbstractBaseClassChainWithClass() .Where(s => s != type) .Each(s => tagAttributes.Add(new TagAttribute(s.Name))); var tags = TagStringFor(tagAttributes); var context = new ClassContext(type, conventions, tagsFilter, tags); return context; }