Esempio n. 1
0
        private void WriteMethods(Type type, MarkdownWriter writer)
        {
            var methods = type.GetMethods(MemberSearchFlags)
                          // Exclude compiler-generated and internal methods
                          .Where(m => !m.IsSpecialName && !m.IsAssembly)
                          // Exclude protected methods when class is sealed
                          .Where(m => type.IsSealed
                                        ? m.IsPublic
                                        : !m.IsPrivate)
                          // Sort alphabetically...
                          .OrderBy(m => m.Name)
                          // ... then by parameter count.
                          .ThenBy(m => m.GetParameters().Length)
                          .ToArray();

            if (methods.Length > 0)
            {
                writer.WriteHeader(3, "Methods");
                foreach (var method in methods)
                {
                    var methodDocs = Docs[ID.GetIDString(method)];

                    // Heading
                    writer.WriteHeader(4, DocUtilities.GetMethodSignature(method, false, false), true);
                    PrintObsoleteWarning(method, writer);
                    Summary(methodDocs, writer);
                    writer.WriteCodeBlock(Lang, DocUtilities.GetMethodSignature(method, true, true));

                    // Parameters
                    WriteParamList(4, method, writer, methodDocs);
                    Returns(4, methodDocs, writer);
                    Remarks(4, methodDocs, writer);
                }
            }
        }
Esempio n. 2
0
        private void WriteConstructors(Type type, MarkdownWriter writer)
        {
            // Constructor list
            var ctors = type.GetConstructors();

            if (ctors.Length > 0)
            {
                writer.WriteHeader(3, "Constructors");

                for (int i = 0; i < ctors.Length; i++)
                {
                    // Heading for constructor section
                    var ctorDocs = Docs[ID.GetIDString(ctors[i])];
                    writer.WriteHeader(4, DocUtilities.GetMethodSignature(ctors[i], false, false));
                    PrintObsoleteWarning(ctors[i], writer);
                    Summary(ctorDocs, writer);

                    // Signature
                    writer.WriteCodeBlock(Lang, DocUtilities.GetMethodSignature(ctors[i], true, true));

                    // Get constructor's parameters and associated docs
                    WriteParamList(5, ctors[i], writer, ctorDocs);
                    Remarks(5, ctorDocs, writer);
                }
            }
        }