private void InspectClass(HtmlWriter writer, Type type) { var instanceCtors = type.GetConstructors(k_AllInstanceBindings); Array.Sort(instanceCtors, (lhs, rhs) => ReflectionHelper.CompareConstructors(type, lhs, rhs)); if (instanceCtors.Length > 0) { using (writer.ContainerFluid()) { writer.Inline("h6", "// Constructors"); LayoutCtors(writer, instanceCtors); } } var staticCtor = type.GetConstructors(k_AllStaticBindings); if (staticCtor.Length > 0) { Array.Sort(staticCtor, (lhs, rhs) => ReflectionHelper.CompareConstructors(type, lhs, rhs)); using (writer.ContainerFluid()) { writer.Inline("h6", "// Static constructors"); LayoutCtors(writer, staticCtor); } } LayoutInstanceFields(writer, type); var staticFields = type.GetFields(k_AllStaticBindings); if (staticFields.Length > 0) { Array.Sort(staticFields, (lhs, rhs) => ReflectionHelper.CompareFields(type, lhs, rhs)); using (writer.ContainerFluid()) { writer.Inline("h6", "// Static fields"); LayoutStaticFields(writer, staticFields); } } LayoutInstanceProperties(writer, type); var staticProperties = type.GetProperties(k_AllStaticBindings); if (staticProperties.Length > 0) { Array.Sort(staticProperties, (lhs, rhs) => ReflectionHelper.CompareProperties(type, lhs, rhs)); using (writer.ContainerFluid()) { writer.Inline("h6", "Static properties"); LayoutProperties(writer, staticProperties); } } LayoutInstanceMethods(writer, type); var staticMethods = type.GetMethods(k_AllStaticBindings); if (staticMethods.Length > 0) { Array.Sort(staticMethods, (lhs, rhs) => ReflectionHelper.CompareMethods(type, lhs, rhs)); using (writer.ContainerFluid()) { writer.Inline("h6", "// Static functions"); LayoutMethods(writer, staticMethods.Where(m => !m.IsSpecialName)); } } LayoutNestedTypes(writer, type); }