From 8a60af927dcb1a034de840021cc7268c309f9d17 Mon Sep 17 00:00:00 2001 From: Yufei Huang Date: Sun, 12 Nov 2023 22:47:19 +0800 Subject: [PATCH] feat: add TOC order for toc_rel pick order (#9406) --- docs/docs/pdf.md | 13 +- docs/docs/table-of-contents.md | 12 + samples/seed/articles/toc.yml | 2 +- samples/seed/docfx.json | 4 +- samples/seed/{pdf.md => pdf/cover.md} | 0 samples/seed/pdf/toc.yml | 4 +- src/Docfx.Build/SystemMetadataGenerator.cs | 35 +- .../TableOfContents/TocDocumentProcessor.cs | 13 +- src/Docfx.Build/TableOfContents/TocHelper.cs | 63 +- .../TocItemViewModel.cs | 5 + .../TocRootViewModel.cs | 22 - .../DotnetApiCatalog.ManagedReference.cs | 2 +- src/Docfx.Plugins/TocInfo.cs | 8 +- src/docfx/Properties/launchSettings.json | 2 +- .../TocDocumentProcessorTest.cs | 8 +- .../api/toc.html.view.verified.json | 1 + .../api/toc.json.view.verified.json | 2 +- .../api/toc.verified.json | 1 + .../articles/toc.html.view.verified.json | 3 +- .../articles/toc.json.view.verified.json | 2 +- .../articles/toc.verified.json | 3 +- .../index.verified.json | 4 +- .../cover.html.view.verified.json} | 18 +- .../pdf/toc.html.view.verified.json | 650 +++ .../pdf/toc.json.view.verified.json | 3 + .../pdf/toc.pdf.verified.json | 4676 +++++++++++++++++ .../pdf/toc.verified.json | 402 ++ .../restapi/toc.html.view.verified.json | 1 + .../restapi/toc.json.view.verified.json | 2 +- .../restapi/toc.verified.json | 1 + .../api/toc.html.view.verified.json | 1 + .../api/toc.json.view.verified.json | 2 +- .../api/toc.verified.json | 1 + .../articles/toc.html.view.verified.json | 3 +- .../articles/toc.json.view.verified.json | 2 +- .../articles/toc.verified.json | 3 +- .../index.verified.json | 4 +- .../cover.html.view.verified.json} | 18 +- .../pdf/toc.html.view.verified.json | 650 +++ .../pdf/toc.json.view.verified.json | 3 + .../pdf/toc.pdf.verified.json | 4671 ++++++++++++++++ .../pdf/toc.verified.json | 402 ++ .../restapi/toc.html.view.verified.json | 1 + .../restapi/toc.json.view.verified.json | 2 +- .../restapi/toc.verified.json | 1 + test/docfx.Tests/MetadataCommandTest.cs | 12 +- 46 files changed, 11586 insertions(+), 152 deletions(-) rename samples/seed/{pdf.md => pdf/cover.md} (100%) delete mode 100644 src/Docfx.DataContracts.Common/TocRootViewModel.cs rename test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/{pdf.html.view.verified.json => pdf/cover.html.view.verified.json} (82%) create mode 100644 test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/toc.html.view.verified.json create mode 100644 test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/toc.json.view.verified.json create mode 100644 test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/toc.pdf.verified.json create mode 100644 test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/toc.verified.json rename test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/{pdf.html.view.verified.json => pdf/cover.html.view.verified.json} (82%) create mode 100644 test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/toc.html.view.verified.json create mode 100644 test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/toc.json.view.verified.json create mode 100644 test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/toc.pdf.verified.json create mode 100644 test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/toc.verified.json diff --git a/docs/docs/pdf.md b/docs/docs/pdf.md index 31410f215b8..475bf59800c 100644 --- a/docs/docs/pdf.md +++ b/docs/docs/pdf.md @@ -48,6 +48,17 @@ In case the TOC file is auto-generated, use [file metadata](./config.md#metadata } ``` +You can create a single PDF file using a dedicated PDF TOC containing all articles with [Nested TOCs](./table-of-contents.md#nested-tocs) and set `order` to a bigger value to prevent the PDF TOC from appearing on the website. + +```yaml +order: 200 +items: +- name: Section 1 + href: section-1/toc.yml +- name: Section 2 + href: section-2/toc.yml +``` + ## PDF Metadata These metadata applies to TOC files that controls behaviors of PDF generation. @@ -84,7 +95,7 @@ To preview PDF rendering result, print the HTML page in the web browser, or set The site template adds a default margin and removes background graphics for pages in print mode. Use `@page { margin: 0 }` to remove the default margin and use `print-color-adjust: exact` to keep background graphics for cover pages. -See [this example](https://raw.githubusercontent.com/dotnet/docfx/main/samples/seed/pdf.md) on a PDF cover page that fills the whole page with background graphics: +See [this example](https://raw.githubusercontent.com/dotnet/docfx/main/samples/seed/pdf/cover.md) on a PDF cover page that fills the whole page with background graphics: ![Alt text](./media/pdf-cover-page.png) diff --git a/docs/docs/table-of-contents.md b/docs/docs/table-of-contents.md index 6693c7c621b..f49d2bc768d 100644 --- a/docs/docs/table-of-contents.md +++ b/docs/docs/table-of-contents.md @@ -28,6 +28,16 @@ The YAML document is a tree of TOC nodes, each of which has these properties: - `uid`: The uid of the article. Can be used instead of `href`. - `expanded`: Expand children on load, only works if the template is `modern`. +When an article is referenced by a TOC through `href`, the corresponding TOC appears when viewing that article. If multiple TOCs reference the same article, or the article isn't referenced by any TOC, the nearest TOC with the least amount of directory jumps is picked. + +The `order` property can customize this pick logic, TOCs with a smaller order value are picked first. The default order is 0. + +```yml +order: 100 +items: +- ... +``` + ## Nested TOCs To nest a TOC within another TOC, set the `href` property to point to the `toc.yml` file that you want to nest. You can also use this structure as a way to reuse a TOC structure in one or more TOC files. @@ -63,6 +73,8 @@ Reference ├─ System.Float ``` +Nested TOCs by default have `order` set to `100` to let containing TOCs take precedence. + ## Reference TOCs To reference another TOC without embeding it to a parent TOC using nested TOCs, set the `href` property to point to the directory that you want to reference and end the string with `/`, this will generate a link pointing to the first article in the referenced TOC. diff --git a/samples/seed/articles/toc.yml b/samples/seed/articles/toc.yml index db806d346f0..af211de867d 100644 --- a/samples/seed/articles/toc.yml +++ b/samples/seed/articles/toc.yml @@ -1,5 +1,5 @@ pdfFileName: seed.pdf -pdfCoverPage: pdf.html +pdfCoverPage: pdf/cover.html items: - name: Getting Started href: docfx_getting_started.md diff --git a/samples/seed/docfx.json b/samples/seed/docfx.json index 6b2ff1782d1..e1e12c14cdc 100644 --- a/samples/seed/docfx.json +++ b/samples/seed/docfx.json @@ -66,10 +66,10 @@ "build": { "content": [ { "files": [ "**/*.yml" ], "src": "obj/api", "dest": "api" }, - { "files": [ "**/*.yml" ], "src": "obj/apipage", "dest": "apipage" }, { "files": [ "**" ], "src": "obj/md", "dest": "md" }, { "files": [ "**" ], "src": "obj/apipage", "dest": "apipage" }, - { "files": [ "articles/**/*.{md,yml}", "*.md", "toc.yml", "restapi/**", "md/**", "md2/**" ] } + { "files": [ "articles/**/*.{md,yml}", "*.md", "toc.yml", "restapi/**" ] }, + { "files": [ "pdf/**" ] } ], "resource": [ { diff --git a/samples/seed/pdf.md b/samples/seed/pdf/cover.md similarity index 100% rename from samples/seed/pdf.md rename to samples/seed/pdf/cover.md diff --git a/samples/seed/pdf/toc.yml b/samples/seed/pdf/toc.yml index 626b83c2831..8b2fc203239 100644 --- a/samples/seed/pdf/toc.yml +++ b/samples/seed/pdf/toc.yml @@ -1,4 +1,6 @@ -- name: Articles +order: 200 +items: +- name: Articles href: ../articles/toc.yml - name: API Documentation href: ../obj/api/toc.yml diff --git a/src/Docfx.Build/SystemMetadataGenerator.cs b/src/Docfx.Build/SystemMetadataGenerator.cs index b9fb22b3c9d..20b882070bb 100644 --- a/src/Docfx.Build/SystemMetadataGenerator.cs +++ b/src/Docfx.Build/SystemMetadataGenerator.cs @@ -11,7 +11,7 @@ namespace Docfx.Build.Engine; internal sealed class SystemMetadataGenerator { private readonly IDocumentBuildContext _context; - private readonly IEnumerable _toc; + private readonly Dictionary _toc; public SystemMetadataGenerator(IDocumentBuildContext context) { @@ -21,9 +21,10 @@ public SystemMetadataGenerator(IDocumentBuildContext context) // Order toc files by the output folder depth _toc = context.GetTocInfo() - .Select(s => new FileInfo(s.TocFileKey, context.GetFilePath(s.TocFileKey))) + .Select(s => new FileInfo(s.Order, s.TocFileKey, context.GetFilePath(s.TocFileKey))) .Where(s => s.RelativePath != null) - .OrderBy(s => s.RelativePath.SubdirectoryCount); + .OrderBy(s => s.RelativePath.SubdirectoryCount) + .ToDictionary(s => s.Key); } public SystemMetadata Generate(InternalManifestItem item) @@ -68,7 +69,7 @@ public SystemMetadata Generate(InternalManifestItem item) // 2. The algorithm of toc current article belongs to: // a. If toc can be found in TocMap, return that toc // b. Elsewise, get the nearest toc, **nearest** means nearest toc in **OUTPUT** folder - var parentTocFiles = _context.GetTocFileKeySet(key)?.Select(s => new FileInfo(s, _context.GetFilePath(s))); + var parentTocFiles = _context.GetTocFileKeySet(key)?.Select(s => _toc[s]); var parentToc = GetNearestToc(parentTocFiles, file) ?? GetDefaultToc(key); if (parentToc != null) @@ -90,7 +91,7 @@ public SystemMetadata Generate(InternalManifestItem item) private void GetRootTocFromOutputRoot(SystemMetadata attrs, RelativePath file) { - var rootToc = _toc.FirstOrDefault(); + var rootToc = _toc.Values.FirstOrDefault(); if (rootToc != null) { var rootTocPath = rootToc.RelativePath.RemoveWorkingFolder(); @@ -116,11 +117,13 @@ private FileInfo GetDefaultToc(string fileKey) // MakeRelativeTo calculates how to get file "s" from "outputPath" // The standard for being the toc of current file is: Relative directory is empty or ".."s only - var parentTocs = _toc + var parentTocs = _toc.Values .Select(s => new { rel = s.RelativePath.MakeRelativeTo(outputPath), info = s }) .Where(s => s.rel.SubdirectoryCount == 0) - .OrderBy(s => s.rel.ParentDirectoryCount) + .OrderBy(s => s.info.Order) + .ThenBy(s => s.rel.ParentDirectoryCount) .Select(s => s.info); + return parentTocs.FirstOrDefault(); } @@ -139,9 +142,8 @@ private static FileInfo GetNearestToc(IEnumerable tocFiles, RelativePa return (from toc in tocFiles where toc.RelativePath != null let relativePath = toc.RelativePath.RemoveWorkingFolder() - file - orderby relativePath.SubdirectoryCount, relativePath.ParentDirectoryCount, toc.FilePath, toc.Key - select toc) - .FirstOrDefault(); + orderby toc.Order, relativePath.SubdirectoryCount, relativePath.ParentDirectoryCount, toc.FilePath, toc.Key + select toc).FirstOrDefault(); } private static string GetFileKey(string key) @@ -150,16 +152,19 @@ private static string GetFileKey(string key) return RelativePath.NormalizedWorkingFolder + key; } - private sealed class FileInfo + class FileInfo { - public string Key { get; set; } + public int Order { get; } + + public string Key { get; } - public string FilePath { get; set; } + public string FilePath { get; } - public RelativePath RelativePath { get; set; } + public RelativePath RelativePath { get; } - public FileInfo(string key, string filePath) + public FileInfo(int order, string key, string filePath) { + Order = order; Key = key; FilePath = filePath; RelativePath = (RelativePath)filePath; diff --git a/src/Docfx.Build/TableOfContents/TocDocumentProcessor.cs b/src/Docfx.Build/TableOfContents/TocDocumentProcessor.cs index efac86b130f..3921b9f246b 100644 --- a/src/Docfx.Build/TableOfContents/TocDocumentProcessor.cs +++ b/src/Docfx.Build/TableOfContents/TocDocumentProcessor.cs @@ -186,18 +186,7 @@ private void RegisterTocToContext(TocItemViewModel toc, FileModel model, IDocume // Add current folder to the toc mapping, e.g. `a/` maps to `a/toc` var directory = ((RelativePath)key).GetPathFromWorkingFolder().GetDirectoryPath(); context.RegisterToc(key, directory); - - var tocInfo = new TocInfo(key); - if (toc.Homepage != null) - { - if (PathUtility.IsRelativePath(toc.Homepage)) - { - var pathToRoot = ((RelativePath)model.File + (RelativePath)HttpUtility.UrlDecode(toc.Homepage)).GetPathFromWorkingFolder(); - tocInfo.Homepage = pathToRoot; - } - } - - context.RegisterTocInfo(tocInfo); + context.RegisterTocInfo(new() { TocFileKey = key, Order = toc.Order ?? 0 }); } private void RegisterTocMapToContext(TocItemViewModel item, FileModel model, IDocumentBuildContext context) diff --git a/src/Docfx.Build/TableOfContents/TocHelper.cs b/src/Docfx.Build/TableOfContents/TocHelper.cs index bdf81c9fd30..53db9eba08f 100644 --- a/src/Docfx.Build/TableOfContents/TocHelper.cs +++ b/src/Docfx.Build/TableOfContents/TocHelper.cs @@ -13,7 +13,7 @@ public static class TocHelper { private static readonly YamlDeserializerWithFallback _deserializer = YamlDeserializerWithFallback.Create() - .WithFallback(); + .WithFallback(); public static List ResolveToc(ImmutableList models, IHostService host) { @@ -32,13 +32,13 @@ public static List ResolveToc(ImmutableList models, IHostS foreach (var model in models) { - // If the TOC file is referenced by other TOC, remove it from the collection + // If the TOC file is referenced by other TOC, decrease the score var tocItemInfo = tocCache[model.OriginalFileAndType.FullPath]; - if (!tocItemInfo.IsReferenceToc) - { - model.Content = tocItemInfo.Content; - nonReferencedTocModels.Add(model); - } + if (tocItemInfo.IsReferenceToc && tocItemInfo.Content.Order is null) + tocItemInfo.Content.Order = 100; + + model.Content = tocItemInfo.Content; + nonReferencedTocModels.Add(model); } return nonReferencedTocModels; @@ -65,61 +65,28 @@ public static TocItemViewModel LoadSingleToc(string file) { if (fileType == TocFileType.Markdown) { - return new TocItemViewModel + return new() { Items = MarkdownTocReader.LoadToc(EnvironmentContext.FileAbstractLayer.ReadAllText(file), file) }; } else if (fileType == TocFileType.Yaml) { - return LoadYamlToc(file); + return _deserializer.Deserialize(file) switch + { + TocViewModel vm => new() { Items = vm }, + TocItemViewModel root => root, + _ => throw new NotSupportedException($"{file} is not a valid TOC file."), + }; } } catch (Exception e) { - var message = $"{file} is not a valid TOC File: {e.Message}"; + var message = $"{file} is not a valid TOC File: {e}"; Logger.LogError(message, code: ErrorCodes.Toc.InvalidTocFile); throw new DocumentException(message, e); } throw new NotSupportedException($"{file} is not a valid TOC file, supported TOC files should be either \"{Constants.TableOfContents.MarkdownTocFileName}\" or \"{Constants.TableOfContents.YamlTocFileName}\"."); } - - public static TocItemViewModel LoadYamlToc(string file) - { -#if NET7_0_OR_GREATER - ArgumentException.ThrowIfNullOrEmpty(file); -#else - if (string.IsNullOrEmpty(file)) - { - throw new ArgumentNullException(nameof(file)); - } -#endif - - object obj; - try - { - obj = _deserializer.Deserialize(file); - } - catch (Exception ex) - { - throw new NotSupportedException($"{file} is not a valid TOC file, detail: {ex}.", ex); - } - if (obj is TocViewModel vm) - { - return new TocItemViewModel - { - Items = vm, - }; - } - if (obj is TocRootViewModel root) - { - return new TocItemViewModel - { - Items = root.Items, - Metadata = root.Metadata, - }; - } - throw new NotSupportedException($"{file} is not a valid TOC file."); - } } diff --git a/src/Docfx.DataContracts.Common/TocItemViewModel.cs b/src/Docfx.DataContracts.Common/TocItemViewModel.cs index 15424362266..3e290c5078e 100644 --- a/src/Docfx.DataContracts.Common/TocItemViewModel.cs +++ b/src/Docfx.DataContracts.Common/TocItemViewModel.cs @@ -118,6 +118,11 @@ public string NameForVB [JsonPropertyName(Constants.PropertyName.TopicUid)] public string TopicUid { get; set; } + [YamlMember(Alias = "order")] + [JsonProperty("order")] + [JsonPropertyName("order")] + public int? Order { get; set; } + [YamlIgnore] [Newtonsoft.Json.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore] diff --git a/src/Docfx.DataContracts.Common/TocRootViewModel.cs b/src/Docfx.DataContracts.Common/TocRootViewModel.cs deleted file mode 100644 index 026f73fe3ec..00000000000 --- a/src/Docfx.DataContracts.Common/TocRootViewModel.cs +++ /dev/null @@ -1,22 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. - -using System.Text.Json.Serialization; -using Docfx.YamlSerialization; -using Newtonsoft.Json; -using YamlDotNet.Serialization; - -namespace Docfx.DataContracts.Common; - -public class TocRootViewModel -{ - [YamlMember(Alias = "items")] - [JsonProperty("items")] - [JsonPropertyName("items")] - public TocViewModel Items { get; set; } - - [ExtensibleMember] - [Newtonsoft.Json.JsonExtensionData] - [System.Text.Json.Serialization.JsonExtensionData] - public Dictionary Metadata { get; set; } = new Dictionary(); -} diff --git a/src/Docfx.Dotnet/DotnetApiCatalog.ManagedReference.cs b/src/Docfx.Dotnet/DotnetApiCatalog.ManagedReference.cs index 1cfae841ba8..e619ded5880 100644 --- a/src/Docfx.Dotnet/DotnetApiCatalog.ManagedReference.cs +++ b/src/Docfx.Dotnet/DotnetApiCatalog.ManagedReference.cs @@ -53,7 +53,7 @@ void ResolveAndExportYamlMetadata( // generate toc.yml model.TocYamlViewModel.Type = MemberType.Toc; - var tocViewModel = new TocRootViewModel + var tocViewModel = new TocItemViewModel { Metadata = new() { ["memberLayout"] = config.MemberLayout }, Items = model.TocYamlViewModel.ToTocViewModel(), diff --git a/src/Docfx.Plugins/TocInfo.cs b/src/Docfx.Plugins/TocInfo.cs index 478396956ea..49b1e1baabe 100644 --- a/src/Docfx.Plugins/TocInfo.cs +++ b/src/Docfx.Plugins/TocInfo.cs @@ -5,11 +5,7 @@ namespace Docfx.Plugins; public class TocInfo { - public string TocFileKey { get; } - public string Homepage { get; set; } + public string TocFileKey { get; init; } - public TocInfo(string tocFileKey) - { - TocFileKey = tocFileKey; - } + public int Order { get; init; } } diff --git a/src/docfx/Properties/launchSettings.json b/src/docfx/Properties/launchSettings.json index 4f841b9ba24..e598a84f9bd 100644 --- a/src/docfx/Properties/launchSettings.json +++ b/src/docfx/Properties/launchSettings.json @@ -13,7 +13,7 @@ // Run `docfx build` command. "docfx build": { "commandName": "Project", - "commandLineArgs": "build ../../samples/seed/docfx.json", + "commandLineArgs": "build ../../samples/seed/docfx.json --serve", "workingDirectory": ".", "environmentVariables": { } diff --git a/test/Docfx.Build.Tests/TocDocumentProcessorTest.cs b/test/Docfx.Build.Tests/TocDocumentProcessorTest.cs index b270b231d97..2ffe957ca18 100644 --- a/test/Docfx.Build.Tests/TocDocumentProcessorTest.cs +++ b/test/Docfx.Build.Tests/TocDocumentProcessorTest.cs @@ -529,9 +529,9 @@ public void ProcessYamlTocWithReferencedTocShouldSucceed() AssertTocEqual(expectedModel, model); - // Referenced TOC File should not exist + // Referenced TOC File should exist var referencedTocPath = Path.Combine(_outputFolder, Path.ChangeExtension(sub1tocmd, RawModelFileExtension)); - Assert.False(File.Exists(referencedTocPath)); + Assert.True(File.Exists(referencedTocPath)); } [Fact] @@ -766,7 +766,7 @@ public void LoadBadTocYamlFileShouldGiveLineNumber() href: x2.md"; var toc = _fileCreator.CreateFile(content, FileType.YamlToc); var ex = Assert.Throws(() => TocHelper.LoadSingleToc(toc)); - Assert.Equal("toc.yml is not a valid TOC File: toc.yml is not a valid TOC file, detail: (Line: 3, Col: 10, Idx: 22) - (Line: 3, Col: 10, Idx: 22): While scanning a plain scalar value, found invalid mapping..", ex.Message); + Assert.Equal("toc.yml is not a valid TOC File: (Line: 3, Col: 10, Idx: 22) - (Line: 3, Col: 10, Idx: 22): While scanning a plain scalar value, found invalid mapping.", ex.Message); } [Fact] @@ -787,7 +787,7 @@ public void LoadTocYamlWithEmptyNodeShouldSucceed() // Assert var outputRawModelPath = Path.GetFullPath(Path.Combine(_outputFolder, Path.ChangeExtension(file, RawModelFileExtension))); Assert.True(File.Exists(outputRawModelPath)); - var model = JsonUtility.Deserialize(outputRawModelPath); + var model = JsonUtility.Deserialize(outputRawModelPath); Assert.Single(model.Items); // empty node is removed } diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/api/toc.html.view.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/api/toc.html.view.verified.json index c66ec095105..40a7c08bfd0 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/api/toc.html.view.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/api/toc.html.view.verified.json @@ -1,4 +1,5 @@ { + "order": 100.0, "items": [ { "name": "BuildFromAssembly", diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/api/toc.json.view.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/api/toc.json.view.verified.json index ac6b3b3ac31..0933e9ed200 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/api/toc.json.view.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/api/toc.json.view.verified.json @@ -1,3 +1,3 @@ { - "content": "{\"items\":[{\"name\":\"BuildFromAssembly\",\"href\":\"BuildFromAssembly.html\",\"topicHref\":\"BuildFromAssembly.html\",\"topicUid\":\"BuildFromAssembly\",\"items\":[{\"name\":\"Class1\",\"href\":\"BuildFromAssembly.Class1.html\",\"topicHref\":\"BuildFromAssembly.Class1.html\",\"topicUid\":\"BuildFromAssembly.Class1\"}]},{\"name\":\"BuildFromCSharpSourceCode\",\"href\":\"BuildFromCSharpSourceCode.html\",\"topicHref\":\"BuildFromCSharpSourceCode.html\",\"topicUid\":\"BuildFromCSharpSourceCode\",\"items\":[{\"name\":\"CSharp\",\"href\":\"BuildFromCSharpSourceCode.CSharp.html\",\"topicHref\":\"BuildFromCSharpSourceCode.CSharp.html\",\"topicUid\":\"BuildFromCSharpSourceCode.CSharp\"}]},{\"name\":\"BuildFromProject\",\"href\":\"BuildFromProject.html\",\"topicHref\":\"BuildFromProject.html\",\"topicUid\":\"BuildFromProject\",\"items\":[{\"name\":\"Issue8540\",\"href\":\"BuildFromProject.Issue8540.html\",\"topicHref\":\"BuildFromProject.Issue8540.html\",\"topicUid\":\"BuildFromProject.Issue8540\",\"items\":[{\"name\":\"A\",\"href\":\"BuildFromProject.Issue8540.A.html\",\"topicHref\":\"BuildFromProject.Issue8540.A.html\",\"topicUid\":\"BuildFromProject.Issue8540.A\",\"items\":[{\"name\":\"A\",\"href\":\"BuildFromProject.Issue8540.A.A.html\",\"topicHref\":\"BuildFromProject.Issue8540.A.A.html\",\"topicUid\":\"BuildFromProject.Issue8540.A.A\"}]},{\"name\":\"B\",\"href\":\"BuildFromProject.Issue8540.B.html\",\"topicHref\":\"BuildFromProject.Issue8540.B.html\",\"topicUid\":\"BuildFromProject.Issue8540.B\",\"items\":[{\"name\":\"B\",\"href\":\"BuildFromProject.Issue8540.B.B.html\",\"topicHref\":\"BuildFromProject.Issue8540.B.B.html\",\"topicUid\":\"BuildFromProject.Issue8540.B.B\"}]}]},{\"name\":\"Class1\",\"href\":\"BuildFromProject.Class1.html\",\"topicHref\":\"BuildFromProject.Class1.html\",\"topicUid\":\"BuildFromProject.Class1\"},{\"name\":\"Class1.IIssue8948\",\"href\":\"BuildFromProject.Class1.IIssue8948.html\",\"topicHref\":\"BuildFromProject.Class1.IIssue8948.html\",\"topicUid\":\"BuildFromProject.Class1.IIssue8948\"},{\"name\":\"Class1.Issue8665\",\"href\":\"BuildFromProject.Class1.Issue8665.html\",\"topicHref\":\"BuildFromProject.Class1.Issue8665.html\",\"topicUid\":\"BuildFromProject.Class1.Issue8665\"},{\"name\":\"Class1.Issue8696Attribute\",\"href\":\"BuildFromProject.Class1.Issue8696Attribute.html\",\"topicHref\":\"BuildFromProject.Class1.Issue8696Attribute.html\",\"topicUid\":\"BuildFromProject.Class1.Issue8696Attribute\"},{\"name\":\"Class1.Issue8948\",\"href\":\"BuildFromProject.Class1.Issue8948.html\",\"topicHref\":\"BuildFromProject.Class1.Issue8948.html\",\"topicUid\":\"BuildFromProject.Class1.Issue8948\"},{\"name\":\"Class1.Issue9260\",\"href\":\"BuildFromProject.Class1.Issue9260.html\",\"topicHref\":\"BuildFromProject.Class1.Issue9260.html\",\"topicUid\":\"BuildFromProject.Class1.Issue9260\"},{\"name\":\"Class1.Test\",\"href\":\"BuildFromProject.Class1.Test-1.html\",\"topicHref\":\"BuildFromProject.Class1.Test-1.html\",\"topicUid\":\"BuildFromProject.Class1.Test`1\",\"name.vb\":\"Class1.Test(Of T)\"},{\"name\":\"IInheritdoc\",\"href\":\"BuildFromProject.IInheritdoc.html\",\"topicHref\":\"BuildFromProject.IInheritdoc.html\",\"topicUid\":\"BuildFromProject.IInheritdoc\"},{\"name\":\"Inheritdoc\",\"href\":\"BuildFromProject.Inheritdoc.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.html\",\"topicUid\":\"BuildFromProject.Inheritdoc\"},{\"name\":\"Inheritdoc.Issue6366\",\"href\":\"BuildFromProject.Inheritdoc.Issue6366.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue6366.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue6366\"},{\"name\":\"Inheritdoc.Issue6366.Class1\",\"href\":\"BuildFromProject.Inheritdoc.Issue6366.Class1-1.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue6366.Class1-1.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue6366.Class1`1\",\"name.vb\":\"Inheritdoc.Issue6366.Class1(Of T)\"},{\"name\":\"Inheritdoc.Issue6366.Class2\",\"href\":\"BuildFromProject.Inheritdoc.Issue6366.Class2.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue6366.Class2.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue6366.Class2\"},{\"name\":\"Inheritdoc.Issue7035\",\"href\":\"BuildFromProject.Inheritdoc.Issue7035.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue7035.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue7035\"},{\"name\":\"Inheritdoc.Issue7484\",\"href\":\"BuildFromProject.Inheritdoc.Issue7484.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue7484.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue7484\"},{\"name\":\"Inheritdoc.Issue8101\",\"href\":\"BuildFromProject.Inheritdoc.Issue8101.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue8101.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue8101\"},{\"name\":\"Inheritdoc.Issue8129\",\"href\":\"BuildFromProject.Inheritdoc.Issue8129.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue8129.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue8129\"}]},{\"name\":\"BuildFromVBSourceCode\",\"href\":\"BuildFromVBSourceCode.html\",\"topicHref\":\"BuildFromVBSourceCode.html\",\"topicUid\":\"BuildFromVBSourceCode\",\"items\":[{\"name\":\"BaseClass1\",\"href\":\"BuildFromVBSourceCode.BaseClass1.html\",\"topicHref\":\"BuildFromVBSourceCode.BaseClass1.html\",\"topicUid\":\"BuildFromVBSourceCode.BaseClass1\"},{\"name\":\"Class1\",\"href\":\"BuildFromVBSourceCode.Class1.html\",\"topicHref\":\"BuildFromVBSourceCode.Class1.html\",\"topicUid\":\"BuildFromVBSourceCode.Class1\"}]},{\"name\":\"CatLibrary\",\"href\":\"CatLibrary.html\",\"topicHref\":\"CatLibrary.html\",\"topicUid\":\"CatLibrary\",\"items\":[{\"name\":\"Core\",\"href\":\"CatLibrary.Core.html\",\"topicHref\":\"CatLibrary.Core.html\",\"topicUid\":\"CatLibrary.Core\",\"items\":[{\"name\":\"ContainersRefType\",\"href\":\"CatLibrary.Core.ContainersRefType.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType\"},{\"name\":\"ContainersRefType.ColorType\",\"href\":\"CatLibrary.Core.ContainersRefType.ColorType.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.ColorType.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ColorType\"},{\"name\":\"ContainersRefType.ContainersRefTypeChild\",\"href\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChild\"},{\"name\":\"ContainersRefType.ContainersRefTypeChildInterface\",\"href\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface\"},{\"name\":\"ContainersRefType.ContainersRefTypeDelegate\",\"href\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate\"},{\"name\":\"ExplicitLayoutClass\",\"href\":\"CatLibrary.Core.ExplicitLayoutClass.html\",\"topicHref\":\"CatLibrary.Core.ExplicitLayoutClass.html\",\"topicUid\":\"CatLibrary.Core.ExplicitLayoutClass\"},{\"name\":\"Issue231\",\"href\":\"CatLibrary.Core.Issue231.html\",\"topicHref\":\"CatLibrary.Core.Issue231.html\",\"topicUid\":\"CatLibrary.Core.Issue231\"}]},{\"name\":\"CatException\",\"href\":\"CatLibrary.CatException-1.html\",\"topicHref\":\"CatLibrary.CatException-1.html\",\"topicUid\":\"CatLibrary.CatException`1\",\"name.vb\":\"CatException(Of T)\"},{\"name\":\"Cat\",\"href\":\"CatLibrary.Cat-2.html\",\"topicHref\":\"CatLibrary.Cat-2.html\",\"topicUid\":\"CatLibrary.Cat`2\",\"name.vb\":\"Cat(Of T, K)\"},{\"name\":\"Complex\",\"href\":\"CatLibrary.Complex-2.html\",\"topicHref\":\"CatLibrary.Complex-2.html\",\"topicUid\":\"CatLibrary.Complex`2\",\"name.vb\":\"Complex(Of T, J)\"},{\"name\":\"FakeDelegate\",\"href\":\"CatLibrary.FakeDelegate-1.html\",\"topicHref\":\"CatLibrary.FakeDelegate-1.html\",\"topicUid\":\"CatLibrary.FakeDelegate`1\",\"name.vb\":\"FakeDelegate(Of T)\"},{\"name\":\"IAnimal\",\"href\":\"CatLibrary.IAnimal.html\",\"topicHref\":\"CatLibrary.IAnimal.html\",\"topicUid\":\"CatLibrary.IAnimal\"},{\"name\":\"ICat\",\"href\":\"CatLibrary.ICat.html\",\"topicHref\":\"CatLibrary.ICat.html\",\"topicUid\":\"CatLibrary.ICat\"},{\"name\":\"ICatExtension\",\"href\":\"CatLibrary.ICatExtension.html\",\"topicHref\":\"CatLibrary.ICatExtension.html\",\"topicUid\":\"CatLibrary.ICatExtension\"},{\"name\":\"MRefDelegate\",\"href\":\"CatLibrary.MRefDelegate-3.html\",\"topicHref\":\"CatLibrary.MRefDelegate-3.html\",\"topicUid\":\"CatLibrary.MRefDelegate`3\",\"name.vb\":\"MRefDelegate(Of K, T, L)\"},{\"name\":\"MRefNormalDelegate\",\"href\":\"CatLibrary.MRefNormalDelegate.html\",\"topicHref\":\"CatLibrary.MRefNormalDelegate.html\",\"topicUid\":\"CatLibrary.MRefNormalDelegate\"},{\"name\":\"Tom\",\"href\":\"CatLibrary.Tom.html\",\"topicHref\":\"CatLibrary.Tom.html\",\"topicUid\":\"CatLibrary.Tom\"},{\"name\":\"TomFromBaseClass\",\"href\":\"CatLibrary.TomFromBaseClass.html\",\"topicHref\":\"CatLibrary.TomFromBaseClass.html\",\"topicUid\":\"CatLibrary.TomFromBaseClass\"}]},{\"name\":\"MRef.Demo.Enumeration\",\"href\":\"MRef.Demo.Enumeration.html\",\"topicHref\":\"MRef.Demo.Enumeration.html\",\"topicUid\":\"MRef.Demo.Enumeration\",\"items\":[{\"name\":\"ColorType\",\"href\":\"MRef.Demo.Enumeration.ColorType.html\",\"topicHref\":\"MRef.Demo.Enumeration.ColorType.html\",\"topicUid\":\"MRef.Demo.Enumeration.ColorType\"}]}],\"memberLayout\":\"SamePage\",\"pdf\":true,\"pdfTocPage\":true}" + "content": "{\"order\":100,\"items\":[{\"name\":\"BuildFromAssembly\",\"href\":\"BuildFromAssembly.html\",\"topicHref\":\"BuildFromAssembly.html\",\"topicUid\":\"BuildFromAssembly\",\"items\":[{\"name\":\"Class1\",\"href\":\"BuildFromAssembly.Class1.html\",\"topicHref\":\"BuildFromAssembly.Class1.html\",\"topicUid\":\"BuildFromAssembly.Class1\"}]},{\"name\":\"BuildFromCSharpSourceCode\",\"href\":\"BuildFromCSharpSourceCode.html\",\"topicHref\":\"BuildFromCSharpSourceCode.html\",\"topicUid\":\"BuildFromCSharpSourceCode\",\"items\":[{\"name\":\"CSharp\",\"href\":\"BuildFromCSharpSourceCode.CSharp.html\",\"topicHref\":\"BuildFromCSharpSourceCode.CSharp.html\",\"topicUid\":\"BuildFromCSharpSourceCode.CSharp\"}]},{\"name\":\"BuildFromProject\",\"href\":\"BuildFromProject.html\",\"topicHref\":\"BuildFromProject.html\",\"topicUid\":\"BuildFromProject\",\"items\":[{\"name\":\"Issue8540\",\"href\":\"BuildFromProject.Issue8540.html\",\"topicHref\":\"BuildFromProject.Issue8540.html\",\"topicUid\":\"BuildFromProject.Issue8540\",\"items\":[{\"name\":\"A\",\"href\":\"BuildFromProject.Issue8540.A.html\",\"topicHref\":\"BuildFromProject.Issue8540.A.html\",\"topicUid\":\"BuildFromProject.Issue8540.A\",\"items\":[{\"name\":\"A\",\"href\":\"BuildFromProject.Issue8540.A.A.html\",\"topicHref\":\"BuildFromProject.Issue8540.A.A.html\",\"topicUid\":\"BuildFromProject.Issue8540.A.A\"}]},{\"name\":\"B\",\"href\":\"BuildFromProject.Issue8540.B.html\",\"topicHref\":\"BuildFromProject.Issue8540.B.html\",\"topicUid\":\"BuildFromProject.Issue8540.B\",\"items\":[{\"name\":\"B\",\"href\":\"BuildFromProject.Issue8540.B.B.html\",\"topicHref\":\"BuildFromProject.Issue8540.B.B.html\",\"topicUid\":\"BuildFromProject.Issue8540.B.B\"}]}]},{\"name\":\"Class1\",\"href\":\"BuildFromProject.Class1.html\",\"topicHref\":\"BuildFromProject.Class1.html\",\"topicUid\":\"BuildFromProject.Class1\"},{\"name\":\"Class1.IIssue8948\",\"href\":\"BuildFromProject.Class1.IIssue8948.html\",\"topicHref\":\"BuildFromProject.Class1.IIssue8948.html\",\"topicUid\":\"BuildFromProject.Class1.IIssue8948\"},{\"name\":\"Class1.Issue8665\",\"href\":\"BuildFromProject.Class1.Issue8665.html\",\"topicHref\":\"BuildFromProject.Class1.Issue8665.html\",\"topicUid\":\"BuildFromProject.Class1.Issue8665\"},{\"name\":\"Class1.Issue8696Attribute\",\"href\":\"BuildFromProject.Class1.Issue8696Attribute.html\",\"topicHref\":\"BuildFromProject.Class1.Issue8696Attribute.html\",\"topicUid\":\"BuildFromProject.Class1.Issue8696Attribute\"},{\"name\":\"Class1.Issue8948\",\"href\":\"BuildFromProject.Class1.Issue8948.html\",\"topicHref\":\"BuildFromProject.Class1.Issue8948.html\",\"topicUid\":\"BuildFromProject.Class1.Issue8948\"},{\"name\":\"Class1.Issue9260\",\"href\":\"BuildFromProject.Class1.Issue9260.html\",\"topicHref\":\"BuildFromProject.Class1.Issue9260.html\",\"topicUid\":\"BuildFromProject.Class1.Issue9260\"},{\"name\":\"Class1.Test\",\"href\":\"BuildFromProject.Class1.Test-1.html\",\"topicHref\":\"BuildFromProject.Class1.Test-1.html\",\"topicUid\":\"BuildFromProject.Class1.Test`1\",\"name.vb\":\"Class1.Test(Of T)\"},{\"name\":\"IInheritdoc\",\"href\":\"BuildFromProject.IInheritdoc.html\",\"topicHref\":\"BuildFromProject.IInheritdoc.html\",\"topicUid\":\"BuildFromProject.IInheritdoc\"},{\"name\":\"Inheritdoc\",\"href\":\"BuildFromProject.Inheritdoc.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.html\",\"topicUid\":\"BuildFromProject.Inheritdoc\"},{\"name\":\"Inheritdoc.Issue6366\",\"href\":\"BuildFromProject.Inheritdoc.Issue6366.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue6366.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue6366\"},{\"name\":\"Inheritdoc.Issue6366.Class1\",\"href\":\"BuildFromProject.Inheritdoc.Issue6366.Class1-1.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue6366.Class1-1.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue6366.Class1`1\",\"name.vb\":\"Inheritdoc.Issue6366.Class1(Of T)\"},{\"name\":\"Inheritdoc.Issue6366.Class2\",\"href\":\"BuildFromProject.Inheritdoc.Issue6366.Class2.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue6366.Class2.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue6366.Class2\"},{\"name\":\"Inheritdoc.Issue7035\",\"href\":\"BuildFromProject.Inheritdoc.Issue7035.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue7035.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue7035\"},{\"name\":\"Inheritdoc.Issue7484\",\"href\":\"BuildFromProject.Inheritdoc.Issue7484.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue7484.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue7484\"},{\"name\":\"Inheritdoc.Issue8101\",\"href\":\"BuildFromProject.Inheritdoc.Issue8101.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue8101.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue8101\"},{\"name\":\"Inheritdoc.Issue8129\",\"href\":\"BuildFromProject.Inheritdoc.Issue8129.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue8129.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue8129\"}]},{\"name\":\"BuildFromVBSourceCode\",\"href\":\"BuildFromVBSourceCode.html\",\"topicHref\":\"BuildFromVBSourceCode.html\",\"topicUid\":\"BuildFromVBSourceCode\",\"items\":[{\"name\":\"BaseClass1\",\"href\":\"BuildFromVBSourceCode.BaseClass1.html\",\"topicHref\":\"BuildFromVBSourceCode.BaseClass1.html\",\"topicUid\":\"BuildFromVBSourceCode.BaseClass1\"},{\"name\":\"Class1\",\"href\":\"BuildFromVBSourceCode.Class1.html\",\"topicHref\":\"BuildFromVBSourceCode.Class1.html\",\"topicUid\":\"BuildFromVBSourceCode.Class1\"}]},{\"name\":\"CatLibrary\",\"href\":\"CatLibrary.html\",\"topicHref\":\"CatLibrary.html\",\"topicUid\":\"CatLibrary\",\"items\":[{\"name\":\"Core\",\"href\":\"CatLibrary.Core.html\",\"topicHref\":\"CatLibrary.Core.html\",\"topicUid\":\"CatLibrary.Core\",\"items\":[{\"name\":\"ContainersRefType\",\"href\":\"CatLibrary.Core.ContainersRefType.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType\"},{\"name\":\"ContainersRefType.ColorType\",\"href\":\"CatLibrary.Core.ContainersRefType.ColorType.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.ColorType.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ColorType\"},{\"name\":\"ContainersRefType.ContainersRefTypeChild\",\"href\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChild\"},{\"name\":\"ContainersRefType.ContainersRefTypeChildInterface\",\"href\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface\"},{\"name\":\"ContainersRefType.ContainersRefTypeDelegate\",\"href\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate\"},{\"name\":\"ExplicitLayoutClass\",\"href\":\"CatLibrary.Core.ExplicitLayoutClass.html\",\"topicHref\":\"CatLibrary.Core.ExplicitLayoutClass.html\",\"topicUid\":\"CatLibrary.Core.ExplicitLayoutClass\"},{\"name\":\"Issue231\",\"href\":\"CatLibrary.Core.Issue231.html\",\"topicHref\":\"CatLibrary.Core.Issue231.html\",\"topicUid\":\"CatLibrary.Core.Issue231\"}]},{\"name\":\"CatException\",\"href\":\"CatLibrary.CatException-1.html\",\"topicHref\":\"CatLibrary.CatException-1.html\",\"topicUid\":\"CatLibrary.CatException`1\",\"name.vb\":\"CatException(Of T)\"},{\"name\":\"Cat\",\"href\":\"CatLibrary.Cat-2.html\",\"topicHref\":\"CatLibrary.Cat-2.html\",\"topicUid\":\"CatLibrary.Cat`2\",\"name.vb\":\"Cat(Of T, K)\"},{\"name\":\"Complex\",\"href\":\"CatLibrary.Complex-2.html\",\"topicHref\":\"CatLibrary.Complex-2.html\",\"topicUid\":\"CatLibrary.Complex`2\",\"name.vb\":\"Complex(Of T, J)\"},{\"name\":\"FakeDelegate\",\"href\":\"CatLibrary.FakeDelegate-1.html\",\"topicHref\":\"CatLibrary.FakeDelegate-1.html\",\"topicUid\":\"CatLibrary.FakeDelegate`1\",\"name.vb\":\"FakeDelegate(Of T)\"},{\"name\":\"IAnimal\",\"href\":\"CatLibrary.IAnimal.html\",\"topicHref\":\"CatLibrary.IAnimal.html\",\"topicUid\":\"CatLibrary.IAnimal\"},{\"name\":\"ICat\",\"href\":\"CatLibrary.ICat.html\",\"topicHref\":\"CatLibrary.ICat.html\",\"topicUid\":\"CatLibrary.ICat\"},{\"name\":\"ICatExtension\",\"href\":\"CatLibrary.ICatExtension.html\",\"topicHref\":\"CatLibrary.ICatExtension.html\",\"topicUid\":\"CatLibrary.ICatExtension\"},{\"name\":\"MRefDelegate\",\"href\":\"CatLibrary.MRefDelegate-3.html\",\"topicHref\":\"CatLibrary.MRefDelegate-3.html\",\"topicUid\":\"CatLibrary.MRefDelegate`3\",\"name.vb\":\"MRefDelegate(Of K, T, L)\"},{\"name\":\"MRefNormalDelegate\",\"href\":\"CatLibrary.MRefNormalDelegate.html\",\"topicHref\":\"CatLibrary.MRefNormalDelegate.html\",\"topicUid\":\"CatLibrary.MRefNormalDelegate\"},{\"name\":\"Tom\",\"href\":\"CatLibrary.Tom.html\",\"topicHref\":\"CatLibrary.Tom.html\",\"topicUid\":\"CatLibrary.Tom\"},{\"name\":\"TomFromBaseClass\",\"href\":\"CatLibrary.TomFromBaseClass.html\",\"topicHref\":\"CatLibrary.TomFromBaseClass.html\",\"topicUid\":\"CatLibrary.TomFromBaseClass\"}]},{\"name\":\"MRef.Demo.Enumeration\",\"href\":\"MRef.Demo.Enumeration.html\",\"topicHref\":\"MRef.Demo.Enumeration.html\",\"topicUid\":\"MRef.Demo.Enumeration\",\"items\":[{\"name\":\"ColorType\",\"href\":\"MRef.Demo.Enumeration.ColorType.html\",\"topicHref\":\"MRef.Demo.Enumeration.ColorType.html\",\"topicUid\":\"MRef.Demo.Enumeration.ColorType\"}]}],\"memberLayout\":\"SamePage\",\"pdf\":true,\"pdfTocPage\":true}" } \ No newline at end of file diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/api/toc.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/api/toc.verified.json index 8ea3917fc03..c86b1101219 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/api/toc.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/api/toc.verified.json @@ -1,4 +1,5 @@ { + "order": 100, "items": [ { "name": "BuildFromAssembly", diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/articles/toc.html.view.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/articles/toc.html.view.verified.json index 6540f70a92d..0dbf01b010b 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/articles/toc.html.view.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/articles/toc.html.view.verified.json @@ -1,4 +1,5 @@ { + "order": 100.0, "items": [ { "name": "Getting Started", @@ -64,7 +65,7 @@ } ], "pdfFileName": "seed.pdf", - "pdfCoverPage": "pdf.html", + "pdfCoverPage": "pdf/cover.html", "_appName": "Seed", "_appTitle": "docfx seed website", "_enableSearch": true, diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/articles/toc.json.view.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/articles/toc.json.view.verified.json index a05c0dee03b..6f423d0d000 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/articles/toc.json.view.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/articles/toc.json.view.verified.json @@ -1,3 +1,3 @@ { - "content": "{\"items\":[{\"name\":\"Getting Started\",\"href\":\"docfx_getting_started.html\",\"topicHref\":\"docfx_getting_started.html\"},{\"name\":\"Engineering Docs\",\"items\":[{\"name\":\"Section 1\"},{\"name\":\"Engineering Guidelines\",\"href\":\"engineering_guidelines.html\",\"topicHref\":\"engineering_guidelines.html\"},{\"name\":\"CSharp Coding Standards\",\"href\":\"csharp_coding_standards.html\",\"topicHref\":\"csharp_coding_standards.html\"}],\"expanded\":true},{\"name\":\"Markdown\",\"href\":\"markdown.html\",\"topicHref\":\"markdown.html\"},{\"name\":\"Microsoft Docs\",\"href\":\"https://docs.microsoft.com/en-us/\",\"topicHref\":\"https://docs.microsoft.com/en-us/\"}],\"pdfFileName\":\"seed.pdf\",\"pdfCoverPage\":\"pdf.html\",\"pdf\":true,\"pdfTocPage\":true}" + "content": "{\"order\":100,\"items\":[{\"name\":\"Getting Started\",\"href\":\"docfx_getting_started.html\",\"topicHref\":\"docfx_getting_started.html\"},{\"name\":\"Engineering Docs\",\"items\":[{\"name\":\"Section 1\"},{\"name\":\"Engineering Guidelines\",\"href\":\"engineering_guidelines.html\",\"topicHref\":\"engineering_guidelines.html\"},{\"name\":\"CSharp Coding Standards\",\"href\":\"csharp_coding_standards.html\",\"topicHref\":\"csharp_coding_standards.html\"}],\"expanded\":true},{\"name\":\"Markdown\",\"href\":\"markdown.html\",\"topicHref\":\"markdown.html\"},{\"name\":\"Microsoft Docs\",\"href\":\"https://docs.microsoft.com/en-us/\",\"topicHref\":\"https://docs.microsoft.com/en-us/\"}],\"pdfFileName\":\"seed.pdf\",\"pdfCoverPage\":\"pdf/cover.html\",\"pdf\":true,\"pdfTocPage\":true}" } \ No newline at end of file diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/articles/toc.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/articles/toc.verified.json index 0c4c980c6a7..714b5c31394 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/articles/toc.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/articles/toc.verified.json @@ -1,4 +1,5 @@ { + "order": 100, "items": [ { "name": "Getting Started", @@ -36,7 +37,7 @@ } ], "pdfFileName": "seed.pdf", - "pdfCoverPage": "pdf.html", + "pdfCoverPage": "pdf/cover.html", "pdf": true, "pdfTocPage": true } \ No newline at end of file diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/index.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/index.verified.json index 3055f3014c4..4c48d5e86a1 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/index.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/index.verified.json @@ -809,8 +809,8 @@ "title": "Namespace MRef | docfx seed website", "keywords": "Namespace MRef Namespaces MRef.Demo" }, - "pdf.html": { - "href": "pdf.html", + "pdf/cover.html": { + "href": "pdf/cover.html", "title": "DOCFX PDF SAMPLE | docfx seed website", "keywords": "@media print { @page { margin: 0 !important; } body { -webkit-print-color-adjust: exact; -moz-print-color-adjust: exact; -ms-print-color-adjust: exact; print-color-adjust: exact; } } DOCFX PDF SAMPLE" }, diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf.html.view.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/cover.html.view.verified.json similarity index 82% rename from test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf.html.view.verified.json rename to test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/cover.html.view.verified.json index 0df344592b7..39f781f3411 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf.html.view.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/cover.html.view.verified.json @@ -3,17 +3,17 @@ "type": "Conceptual", "source": { "remote": { - "path": "samples/seed/pdf.md", + "path": "samples/seed/pdf/cover.md", "branch": "main", "repo": "https://github.com/dotnet/docfx" }, "startLine": 0.0, "endLine": 0.0 }, - "path": "pdf.md", + "path": "pdf/cover.md", "documentation": { "remote": { - "path": "samples/seed/pdf.md", + "path": "samples/seed/pdf/cover.md", "branch": "main", "repo": "https://github.com/dotnet/docfx" }, @@ -28,15 +28,15 @@ "rawTitle": "", "title": "DOCFX PDF SAMPLE", "wordCount": 3.0, - "_key": "pdf.md", + "_key": "pdf/cover.md", "_navKey": "~/toc.yml", "_navPath": "toc.html", - "_navRel": "toc.html", - "_path": "pdf.html", - "_rel": "", + "_navRel": "../toc.html", + "_path": "pdf/cover.html", + "_rel": "../", "_tocKey": "~/toc.yml", "_tocPath": "toc.html", - "_tocRel": "toc.html", + "_tocRel": "../toc.html", "_disableToc": true, - "docurl": "https://github.com/dotnet/docfx/blob/main/samples/seed/pdf.md/#L1" + "docurl": "https://github.com/dotnet/docfx/blob/main/samples/seed/pdf/cover.md/#L1" } \ No newline at end of file diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/toc.html.view.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/toc.html.view.verified.json new file mode 100644 index 00000000000..c21169eb848 --- /dev/null +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/toc.html.view.verified.json @@ -0,0 +1,650 @@ +{ + "order": 200.0, + "items": [ + { + "name": "Articles", + "includedFrom": "~/articles/toc.yml", + "items": [ + { + "name": "Getting Started", + "href": "../articles/docfx_getting_started.html", + "topicHref": "../articles/docfx_getting_started.html", + "tocHref": null, + "level": 3.0, + "items": [], + "leaf": true + }, + { + "name": "Engineering Docs", + "items": [ + { + "name": "Section 1", + "topicHref": null, + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Engineering Guidelines", + "href": "../articles/engineering_guidelines.html", + "topicHref": "../articles/engineering_guidelines.html", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "CSharp Coding Standards", + "href": "../articles/csharp_coding_standards.html", + "topicHref": "../articles/csharp_coding_standards.html", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + } + ], + "expanded": true, + "topicHref": null, + "tocHref": null, + "level": 3.0 + }, + { + "name": "Markdown", + "href": "../articles/markdown.html", + "topicHref": "../articles/markdown.html", + "tocHref": null, + "level": 3.0, + "items": [], + "leaf": true + }, + { + "name": "Microsoft Docs", + "href": "https://docs.microsoft.com/en-us/", + "topicHref": "https://docs.microsoft.com/en-us/", + "tocHref": null, + "level": 3.0, + "items": [], + "leaf": true + } + ], + "topicHref": null, + "tocHref": null, + "level": 2.0 + }, + { + "name": "API Documentation", + "includedFrom": "~/obj/api/toc.yml", + "items": [ + { + "name": "BuildFromAssembly", + "href": "../api/BuildFromAssembly.html", + "topicHref": "../api/BuildFromAssembly.html", + "topicUid": "BuildFromAssembly", + "items": [ + { + "name": "Class1", + "href": "../api/BuildFromAssembly.Class1.html", + "topicHref": "../api/BuildFromAssembly.Class1.html", + "topicUid": "BuildFromAssembly.Class1", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + } + ], + "tocHref": null, + "level": 3.0 + }, + { + "name": "BuildFromCSharpSourceCode", + "href": "../api/BuildFromCSharpSourceCode.html", + "topicHref": "../api/BuildFromCSharpSourceCode.html", + "topicUid": "BuildFromCSharpSourceCode", + "items": [ + { + "name": "CSharp", + "href": "../api/BuildFromCSharpSourceCode.CSharp.html", + "topicHref": "../api/BuildFromCSharpSourceCode.CSharp.html", + "topicUid": "BuildFromCSharpSourceCode.CSharp", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + } + ], + "tocHref": null, + "level": 3.0 + }, + { + "name": "BuildFromProject", + "href": "../api/BuildFromProject.html", + "topicHref": "../api/BuildFromProject.html", + "topicUid": "BuildFromProject", + "items": [ + { + "name": "Issue8540", + "href": "../api/BuildFromProject.Issue8540.html", + "topicHref": "../api/BuildFromProject.Issue8540.html", + "topicUid": "BuildFromProject.Issue8540", + "items": [ + { + "name": "A", + "href": "../api/BuildFromProject.Issue8540.A.html", + "topicHref": "../api/BuildFromProject.Issue8540.A.html", + "topicUid": "BuildFromProject.Issue8540.A", + "items": [ + { + "name": "A", + "href": "../api/BuildFromProject.Issue8540.A.A.html", + "topicHref": "../api/BuildFromProject.Issue8540.A.A.html", + "topicUid": "BuildFromProject.Issue8540.A.A", + "tocHref": null, + "level": 6.0, + "items": [], + "leaf": true + } + ], + "tocHref": null, + "level": 5.0 + }, + { + "name": "B", + "href": "../api/BuildFromProject.Issue8540.B.html", + "topicHref": "../api/BuildFromProject.Issue8540.B.html", + "topicUid": "BuildFromProject.Issue8540.B", + "items": [ + { + "name": "B", + "href": "../api/BuildFromProject.Issue8540.B.B.html", + "topicHref": "../api/BuildFromProject.Issue8540.B.B.html", + "topicUid": "BuildFromProject.Issue8540.B.B", + "tocHref": null, + "level": 6.0, + "items": [], + "leaf": true + } + ], + "tocHref": null, + "level": 5.0 + } + ], + "tocHref": null, + "level": 4.0 + }, + { + "name": "Class1", + "href": "../api/BuildFromProject.Class1.html", + "topicHref": "../api/BuildFromProject.Class1.html", + "topicUid": "BuildFromProject.Class1", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Class1.IIssue8948", + "href": "../api/BuildFromProject.Class1.IIssue8948.html", + "topicHref": "../api/BuildFromProject.Class1.IIssue8948.html", + "topicUid": "BuildFromProject.Class1.IIssue8948", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Class1.Issue8665", + "href": "../api/BuildFromProject.Class1.Issue8665.html", + "topicHref": "../api/BuildFromProject.Class1.Issue8665.html", + "topicUid": "BuildFromProject.Class1.Issue8665", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Class1.Issue8696Attribute", + "href": "../api/BuildFromProject.Class1.Issue8696Attribute.html", + "topicHref": "../api/BuildFromProject.Class1.Issue8696Attribute.html", + "topicUid": "BuildFromProject.Class1.Issue8696Attribute", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Class1.Issue8948", + "href": "../api/BuildFromProject.Class1.Issue8948.html", + "topicHref": "../api/BuildFromProject.Class1.Issue8948.html", + "topicUid": "BuildFromProject.Class1.Issue8948", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Class1.Issue9260", + "href": "../api/BuildFromProject.Class1.Issue9260.html", + "topicHref": "../api/BuildFromProject.Class1.Issue9260.html", + "topicUid": "BuildFromProject.Class1.Issue9260", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Class1.Test", + "href": "../api/BuildFromProject.Class1.Test-1.html", + "topicHref": "../api/BuildFromProject.Class1.Test-1.html", + "topicUid": "BuildFromProject.Class1.Test`1", + "name.vb": "Class1.Test(Of T)", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "IInheritdoc", + "href": "../api/BuildFromProject.IInheritdoc.html", + "topicHref": "../api/BuildFromProject.IInheritdoc.html", + "topicUid": "BuildFromProject.IInheritdoc", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Inheritdoc", + "href": "../api/BuildFromProject.Inheritdoc.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.html", + "topicUid": "BuildFromProject.Inheritdoc", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Inheritdoc.Issue6366", + "href": "../api/BuildFromProject.Inheritdoc.Issue6366.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue6366.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue6366", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Inheritdoc.Issue6366.Class1", + "href": "../api/BuildFromProject.Inheritdoc.Issue6366.Class1-1.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue6366.Class1-1.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue6366.Class1`1", + "name.vb": "Inheritdoc.Issue6366.Class1(Of T)", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Inheritdoc.Issue6366.Class2", + "href": "../api/BuildFromProject.Inheritdoc.Issue6366.Class2.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue6366.Class2.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue6366.Class2", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Inheritdoc.Issue7035", + "href": "../api/BuildFromProject.Inheritdoc.Issue7035.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue7035.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue7035", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Inheritdoc.Issue7484", + "href": "../api/BuildFromProject.Inheritdoc.Issue7484.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue7484.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue7484", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Inheritdoc.Issue8101", + "href": "../api/BuildFromProject.Inheritdoc.Issue8101.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue8101.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue8101", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Inheritdoc.Issue8129", + "href": "../api/BuildFromProject.Inheritdoc.Issue8129.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue8129.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue8129", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + } + ], + "tocHref": null, + "level": 3.0 + }, + { + "name": "BuildFromVBSourceCode", + "href": "../api/BuildFromVBSourceCode.html", + "topicHref": "../api/BuildFromVBSourceCode.html", + "topicUid": "BuildFromVBSourceCode", + "items": [ + { + "name": "BaseClass1", + "href": "../api/BuildFromVBSourceCode.BaseClass1.html", + "topicHref": "../api/BuildFromVBSourceCode.BaseClass1.html", + "topicUid": "BuildFromVBSourceCode.BaseClass1", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Class1", + "href": "../api/BuildFromVBSourceCode.Class1.html", + "topicHref": "../api/BuildFromVBSourceCode.Class1.html", + "topicUid": "BuildFromVBSourceCode.Class1", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + } + ], + "tocHref": null, + "level": 3.0 + }, + { + "name": "CatLibrary", + "href": "../api/CatLibrary.html", + "topicHref": "../api/CatLibrary.html", + "topicUid": "CatLibrary", + "items": [ + { + "name": "Core", + "href": "../api/CatLibrary.Core.html", + "topicHref": "../api/CatLibrary.Core.html", + "topicUid": "CatLibrary.Core", + "items": [ + { + "name": "ContainersRefType", + "href": "../api/CatLibrary.Core.ContainersRefType.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.html", + "topicUid": "CatLibrary.Core.ContainersRefType", + "tocHref": null, + "level": 5.0, + "items": [], + "leaf": true + }, + { + "name": "ContainersRefType.ColorType", + "href": "../api/CatLibrary.Core.ContainersRefType.ColorType.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.ColorType.html", + "topicUid": "CatLibrary.Core.ContainersRefType.ColorType", + "tocHref": null, + "level": 5.0, + "items": [], + "leaf": true + }, + { + "name": "ContainersRefType.ContainersRefTypeChild", + "href": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html", + "topicUid": "CatLibrary.Core.ContainersRefType.ContainersRefTypeChild", + "tocHref": null, + "level": 5.0, + "items": [], + "leaf": true + }, + { + "name": "ContainersRefType.ContainersRefTypeChildInterface", + "href": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html", + "topicUid": "CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface", + "tocHref": null, + "level": 5.0, + "items": [], + "leaf": true + }, + { + "name": "ContainersRefType.ContainersRefTypeDelegate", + "href": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html", + "topicUid": "CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate", + "tocHref": null, + "level": 5.0, + "items": [], + "leaf": true + }, + { + "name": "ExplicitLayoutClass", + "href": "../api/CatLibrary.Core.ExplicitLayoutClass.html", + "topicHref": "../api/CatLibrary.Core.ExplicitLayoutClass.html", + "topicUid": "CatLibrary.Core.ExplicitLayoutClass", + "tocHref": null, + "level": 5.0, + "items": [], + "leaf": true + }, + { + "name": "Issue231", + "href": "../api/CatLibrary.Core.Issue231.html", + "topicHref": "../api/CatLibrary.Core.Issue231.html", + "topicUid": "CatLibrary.Core.Issue231", + "tocHref": null, + "level": 5.0, + "items": [], + "leaf": true + } + ], + "tocHref": null, + "level": 4.0 + }, + { + "name": "CatException", + "href": "../api/CatLibrary.CatException-1.html", + "topicHref": "../api/CatLibrary.CatException-1.html", + "topicUid": "CatLibrary.CatException`1", + "name.vb": "CatException(Of T)", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Cat", + "href": "../api/CatLibrary.Cat-2.html", + "topicHref": "../api/CatLibrary.Cat-2.html", + "topicUid": "CatLibrary.Cat`2", + "name.vb": "Cat(Of T, K)", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Complex", + "href": "../api/CatLibrary.Complex-2.html", + "topicHref": "../api/CatLibrary.Complex-2.html", + "topicUid": "CatLibrary.Complex`2", + "name.vb": "Complex(Of T, J)", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "FakeDelegate", + "href": "../api/CatLibrary.FakeDelegate-1.html", + "topicHref": "../api/CatLibrary.FakeDelegate-1.html", + "topicUid": "CatLibrary.FakeDelegate`1", + "name.vb": "FakeDelegate(Of T)", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "IAnimal", + "href": "../api/CatLibrary.IAnimal.html", + "topicHref": "../api/CatLibrary.IAnimal.html", + "topicUid": "CatLibrary.IAnimal", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "ICat", + "href": "../api/CatLibrary.ICat.html", + "topicHref": "../api/CatLibrary.ICat.html", + "topicUid": "CatLibrary.ICat", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "ICatExtension", + "href": "../api/CatLibrary.ICatExtension.html", + "topicHref": "../api/CatLibrary.ICatExtension.html", + "topicUid": "CatLibrary.ICatExtension", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "MRefDelegate", + "href": "../api/CatLibrary.MRefDelegate-3.html", + "topicHref": "../api/CatLibrary.MRefDelegate-3.html", + "topicUid": "CatLibrary.MRefDelegate`3", + "name.vb": "MRefDelegate(Of K, T, L)", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "MRefNormalDelegate", + "href": "../api/CatLibrary.MRefNormalDelegate.html", + "topicHref": "../api/CatLibrary.MRefNormalDelegate.html", + "topicUid": "CatLibrary.MRefNormalDelegate", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Tom", + "href": "../api/CatLibrary.Tom.html", + "topicHref": "../api/CatLibrary.Tom.html", + "topicUid": "CatLibrary.Tom", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "TomFromBaseClass", + "href": "../api/CatLibrary.TomFromBaseClass.html", + "topicHref": "../api/CatLibrary.TomFromBaseClass.html", + "topicUid": "CatLibrary.TomFromBaseClass", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + } + ], + "tocHref": null, + "level": 3.0 + }, + { + "name": "MRef.Demo.Enumeration", + "href": "../api/MRef.Demo.Enumeration.html", + "topicHref": "../api/MRef.Demo.Enumeration.html", + "topicUid": "MRef.Demo.Enumeration", + "items": [ + { + "name": "ColorType", + "href": "../api/MRef.Demo.Enumeration.ColorType.html", + "topicHref": "../api/MRef.Demo.Enumeration.ColorType.html", + "topicUid": "MRef.Demo.Enumeration.ColorType", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + } + ], + "tocHref": null, + "level": 3.0 + } + ], + "topicHref": null, + "tocHref": null, + "level": 2.0 + }, + { + "name": "REST API", + "includedFrom": "~/restapi/toc.md", + "items": [ + { + "name": "Pet Store API", + "href": "../restapi/petstore.html", + "topicHref": "../restapi/petstore.html", + "tocHref": null, + "level": 3.0, + "items": [], + "leaf": true + }, + { + "name": "Contacts API", + "href": "../restapi/contacts.html", + "topicHref": "../restapi/contacts.html", + "tocHref": null, + "level": 3.0, + "items": [], + "leaf": true + } + ], + "topicHref": null, + "tocHref": null, + "level": 2.0 + } + ], + "_appName": "Seed", + "_appTitle": "docfx seed website", + "_enableSearch": true, + "pdf": true, + "pdfTocPage": true, + "_key": "pdf/toc.yml", + "_navKey": "~/toc.yml", + "_navPath": "toc.html", + "_navRel": "../toc.html", + "_path": "pdf/toc.html", + "_rel": "../", + "_tocKey": "~/pdf/toc.yml", + "_tocPath": "pdf/toc.html", + "_tocRel": "toc.html", + "topicHref": null, + "tocHref": null, + "name": null, + "level": 1.0, + "leaf": false, + "title": "Table of Content", + "_disableToc": true +} \ No newline at end of file diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/toc.json.view.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/toc.json.view.verified.json new file mode 100644 index 00000000000..00bcf2c4c99 --- /dev/null +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/toc.json.view.verified.json @@ -0,0 +1,3 @@ +{ + "content": "{\"order\":200,\"items\":[{\"name\":\"Articles\",\"includedFrom\":\"~/articles/toc.yml\",\"items\":[{\"name\":\"Getting Started\",\"href\":\"../articles/docfx_getting_started.html\",\"topicHref\":\"../articles/docfx_getting_started.html\"},{\"name\":\"Engineering Docs\",\"items\":[{\"name\":\"Section 1\"},{\"name\":\"Engineering Guidelines\",\"href\":\"../articles/engineering_guidelines.html\",\"topicHref\":\"../articles/engineering_guidelines.html\"},{\"name\":\"CSharp Coding Standards\",\"href\":\"../articles/csharp_coding_standards.html\",\"topicHref\":\"../articles/csharp_coding_standards.html\"}],\"expanded\":true},{\"name\":\"Markdown\",\"href\":\"../articles/markdown.html\",\"topicHref\":\"../articles/markdown.html\"},{\"name\":\"Microsoft Docs\",\"href\":\"https://docs.microsoft.com/en-us/\",\"topicHref\":\"https://docs.microsoft.com/en-us/\"}]},{\"name\":\"API Documentation\",\"includedFrom\":\"~/obj/api/toc.yml\",\"items\":[{\"name\":\"BuildFromAssembly\",\"href\":\"../api/BuildFromAssembly.html\",\"topicHref\":\"../api/BuildFromAssembly.html\",\"topicUid\":\"BuildFromAssembly\",\"items\":[{\"name\":\"Class1\",\"href\":\"../api/BuildFromAssembly.Class1.html\",\"topicHref\":\"../api/BuildFromAssembly.Class1.html\",\"topicUid\":\"BuildFromAssembly.Class1\"}]},{\"name\":\"BuildFromCSharpSourceCode\",\"href\":\"../api/BuildFromCSharpSourceCode.html\",\"topicHref\":\"../api/BuildFromCSharpSourceCode.html\",\"topicUid\":\"BuildFromCSharpSourceCode\",\"items\":[{\"name\":\"CSharp\",\"href\":\"../api/BuildFromCSharpSourceCode.CSharp.html\",\"topicHref\":\"../api/BuildFromCSharpSourceCode.CSharp.html\",\"topicUid\":\"BuildFromCSharpSourceCode.CSharp\"}]},{\"name\":\"BuildFromProject\",\"href\":\"../api/BuildFromProject.html\",\"topicHref\":\"../api/BuildFromProject.html\",\"topicUid\":\"BuildFromProject\",\"items\":[{\"name\":\"Issue8540\",\"href\":\"../api/BuildFromProject.Issue8540.html\",\"topicHref\":\"../api/BuildFromProject.Issue8540.html\",\"topicUid\":\"BuildFromProject.Issue8540\",\"items\":[{\"name\":\"A\",\"href\":\"../api/BuildFromProject.Issue8540.A.html\",\"topicHref\":\"../api/BuildFromProject.Issue8540.A.html\",\"topicUid\":\"BuildFromProject.Issue8540.A\",\"items\":[{\"name\":\"A\",\"href\":\"../api/BuildFromProject.Issue8540.A.A.html\",\"topicHref\":\"../api/BuildFromProject.Issue8540.A.A.html\",\"topicUid\":\"BuildFromProject.Issue8540.A.A\"}]},{\"name\":\"B\",\"href\":\"../api/BuildFromProject.Issue8540.B.html\",\"topicHref\":\"../api/BuildFromProject.Issue8540.B.html\",\"topicUid\":\"BuildFromProject.Issue8540.B\",\"items\":[{\"name\":\"B\",\"href\":\"../api/BuildFromProject.Issue8540.B.B.html\",\"topicHref\":\"../api/BuildFromProject.Issue8540.B.B.html\",\"topicUid\":\"BuildFromProject.Issue8540.B.B\"}]}]},{\"name\":\"Class1\",\"href\":\"../api/BuildFromProject.Class1.html\",\"topicHref\":\"../api/BuildFromProject.Class1.html\",\"topicUid\":\"BuildFromProject.Class1\"},{\"name\":\"Class1.IIssue8948\",\"href\":\"../api/BuildFromProject.Class1.IIssue8948.html\",\"topicHref\":\"../api/BuildFromProject.Class1.IIssue8948.html\",\"topicUid\":\"BuildFromProject.Class1.IIssue8948\"},{\"name\":\"Class1.Issue8665\",\"href\":\"../api/BuildFromProject.Class1.Issue8665.html\",\"topicHref\":\"../api/BuildFromProject.Class1.Issue8665.html\",\"topicUid\":\"BuildFromProject.Class1.Issue8665\"},{\"name\":\"Class1.Issue8696Attribute\",\"href\":\"../api/BuildFromProject.Class1.Issue8696Attribute.html\",\"topicHref\":\"../api/BuildFromProject.Class1.Issue8696Attribute.html\",\"topicUid\":\"BuildFromProject.Class1.Issue8696Attribute\"},{\"name\":\"Class1.Issue8948\",\"href\":\"../api/BuildFromProject.Class1.Issue8948.html\",\"topicHref\":\"../api/BuildFromProject.Class1.Issue8948.html\",\"topicUid\":\"BuildFromProject.Class1.Issue8948\"},{\"name\":\"Class1.Issue9260\",\"href\":\"../api/BuildFromProject.Class1.Issue9260.html\",\"topicHref\":\"../api/BuildFromProject.Class1.Issue9260.html\",\"topicUid\":\"BuildFromProject.Class1.Issue9260\"},{\"name\":\"Class1.Test\",\"href\":\"../api/BuildFromProject.Class1.Test-1.html\",\"topicHref\":\"../api/BuildFromProject.Class1.Test-1.html\",\"topicUid\":\"BuildFromProject.Class1.Test`1\",\"name.vb\":\"Class1.Test(Of T)\"},{\"name\":\"IInheritdoc\",\"href\":\"../api/BuildFromProject.IInheritdoc.html\",\"topicHref\":\"../api/BuildFromProject.IInheritdoc.html\",\"topicUid\":\"BuildFromProject.IInheritdoc\"},{\"name\":\"Inheritdoc\",\"href\":\"../api/BuildFromProject.Inheritdoc.html\",\"topicHref\":\"../api/BuildFromProject.Inheritdoc.html\",\"topicUid\":\"BuildFromProject.Inheritdoc\"},{\"name\":\"Inheritdoc.Issue6366\",\"href\":\"../api/BuildFromProject.Inheritdoc.Issue6366.html\",\"topicHref\":\"../api/BuildFromProject.Inheritdoc.Issue6366.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue6366\"},{\"name\":\"Inheritdoc.Issue6366.Class1\",\"href\":\"../api/BuildFromProject.Inheritdoc.Issue6366.Class1-1.html\",\"topicHref\":\"../api/BuildFromProject.Inheritdoc.Issue6366.Class1-1.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue6366.Class1`1\",\"name.vb\":\"Inheritdoc.Issue6366.Class1(Of T)\"},{\"name\":\"Inheritdoc.Issue6366.Class2\",\"href\":\"../api/BuildFromProject.Inheritdoc.Issue6366.Class2.html\",\"topicHref\":\"../api/BuildFromProject.Inheritdoc.Issue6366.Class2.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue6366.Class2\"},{\"name\":\"Inheritdoc.Issue7035\",\"href\":\"../api/BuildFromProject.Inheritdoc.Issue7035.html\",\"topicHref\":\"../api/BuildFromProject.Inheritdoc.Issue7035.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue7035\"},{\"name\":\"Inheritdoc.Issue7484\",\"href\":\"../api/BuildFromProject.Inheritdoc.Issue7484.html\",\"topicHref\":\"../api/BuildFromProject.Inheritdoc.Issue7484.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue7484\"},{\"name\":\"Inheritdoc.Issue8101\",\"href\":\"../api/BuildFromProject.Inheritdoc.Issue8101.html\",\"topicHref\":\"../api/BuildFromProject.Inheritdoc.Issue8101.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue8101\"},{\"name\":\"Inheritdoc.Issue8129\",\"href\":\"../api/BuildFromProject.Inheritdoc.Issue8129.html\",\"topicHref\":\"../api/BuildFromProject.Inheritdoc.Issue8129.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue8129\"}]},{\"name\":\"BuildFromVBSourceCode\",\"href\":\"../api/BuildFromVBSourceCode.html\",\"topicHref\":\"../api/BuildFromVBSourceCode.html\",\"topicUid\":\"BuildFromVBSourceCode\",\"items\":[{\"name\":\"BaseClass1\",\"href\":\"../api/BuildFromVBSourceCode.BaseClass1.html\",\"topicHref\":\"../api/BuildFromVBSourceCode.BaseClass1.html\",\"topicUid\":\"BuildFromVBSourceCode.BaseClass1\"},{\"name\":\"Class1\",\"href\":\"../api/BuildFromVBSourceCode.Class1.html\",\"topicHref\":\"../api/BuildFromVBSourceCode.Class1.html\",\"topicUid\":\"BuildFromVBSourceCode.Class1\"}]},{\"name\":\"CatLibrary\",\"href\":\"../api/CatLibrary.html\",\"topicHref\":\"../api/CatLibrary.html\",\"topicUid\":\"CatLibrary\",\"items\":[{\"name\":\"Core\",\"href\":\"../api/CatLibrary.Core.html\",\"topicHref\":\"../api/CatLibrary.Core.html\",\"topicUid\":\"CatLibrary.Core\",\"items\":[{\"name\":\"ContainersRefType\",\"href\":\"../api/CatLibrary.Core.ContainersRefType.html\",\"topicHref\":\"../api/CatLibrary.Core.ContainersRefType.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType\"},{\"name\":\"ContainersRefType.ColorType\",\"href\":\"../api/CatLibrary.Core.ContainersRefType.ColorType.html\",\"topicHref\":\"../api/CatLibrary.Core.ContainersRefType.ColorType.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ColorType\"},{\"name\":\"ContainersRefType.ContainersRefTypeChild\",\"href\":\"../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html\",\"topicHref\":\"../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChild\"},{\"name\":\"ContainersRefType.ContainersRefTypeChildInterface\",\"href\":\"../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html\",\"topicHref\":\"../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface\"},{\"name\":\"ContainersRefType.ContainersRefTypeDelegate\",\"href\":\"../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html\",\"topicHref\":\"../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate\"},{\"name\":\"ExplicitLayoutClass\",\"href\":\"../api/CatLibrary.Core.ExplicitLayoutClass.html\",\"topicHref\":\"../api/CatLibrary.Core.ExplicitLayoutClass.html\",\"topicUid\":\"CatLibrary.Core.ExplicitLayoutClass\"},{\"name\":\"Issue231\",\"href\":\"../api/CatLibrary.Core.Issue231.html\",\"topicHref\":\"../api/CatLibrary.Core.Issue231.html\",\"topicUid\":\"CatLibrary.Core.Issue231\"}]},{\"name\":\"CatException\",\"href\":\"../api/CatLibrary.CatException-1.html\",\"topicHref\":\"../api/CatLibrary.CatException-1.html\",\"topicUid\":\"CatLibrary.CatException`1\",\"name.vb\":\"CatException(Of T)\"},{\"name\":\"Cat\",\"href\":\"../api/CatLibrary.Cat-2.html\",\"topicHref\":\"../api/CatLibrary.Cat-2.html\",\"topicUid\":\"CatLibrary.Cat`2\",\"name.vb\":\"Cat(Of T, K)\"},{\"name\":\"Complex\",\"href\":\"../api/CatLibrary.Complex-2.html\",\"topicHref\":\"../api/CatLibrary.Complex-2.html\",\"topicUid\":\"CatLibrary.Complex`2\",\"name.vb\":\"Complex(Of T, J)\"},{\"name\":\"FakeDelegate\",\"href\":\"../api/CatLibrary.FakeDelegate-1.html\",\"topicHref\":\"../api/CatLibrary.FakeDelegate-1.html\",\"topicUid\":\"CatLibrary.FakeDelegate`1\",\"name.vb\":\"FakeDelegate(Of T)\"},{\"name\":\"IAnimal\",\"href\":\"../api/CatLibrary.IAnimal.html\",\"topicHref\":\"../api/CatLibrary.IAnimal.html\",\"topicUid\":\"CatLibrary.IAnimal\"},{\"name\":\"ICat\",\"href\":\"../api/CatLibrary.ICat.html\",\"topicHref\":\"../api/CatLibrary.ICat.html\",\"topicUid\":\"CatLibrary.ICat\"},{\"name\":\"ICatExtension\",\"href\":\"../api/CatLibrary.ICatExtension.html\",\"topicHref\":\"../api/CatLibrary.ICatExtension.html\",\"topicUid\":\"CatLibrary.ICatExtension\"},{\"name\":\"MRefDelegate\",\"href\":\"../api/CatLibrary.MRefDelegate-3.html\",\"topicHref\":\"../api/CatLibrary.MRefDelegate-3.html\",\"topicUid\":\"CatLibrary.MRefDelegate`3\",\"name.vb\":\"MRefDelegate(Of K, T, L)\"},{\"name\":\"MRefNormalDelegate\",\"href\":\"../api/CatLibrary.MRefNormalDelegate.html\",\"topicHref\":\"../api/CatLibrary.MRefNormalDelegate.html\",\"topicUid\":\"CatLibrary.MRefNormalDelegate\"},{\"name\":\"Tom\",\"href\":\"../api/CatLibrary.Tom.html\",\"topicHref\":\"../api/CatLibrary.Tom.html\",\"topicUid\":\"CatLibrary.Tom\"},{\"name\":\"TomFromBaseClass\",\"href\":\"../api/CatLibrary.TomFromBaseClass.html\",\"topicHref\":\"../api/CatLibrary.TomFromBaseClass.html\",\"topicUid\":\"CatLibrary.TomFromBaseClass\"}]},{\"name\":\"MRef.Demo.Enumeration\",\"href\":\"../api/MRef.Demo.Enumeration.html\",\"topicHref\":\"../api/MRef.Demo.Enumeration.html\",\"topicUid\":\"MRef.Demo.Enumeration\",\"items\":[{\"name\":\"ColorType\",\"href\":\"../api/MRef.Demo.Enumeration.ColorType.html\",\"topicHref\":\"../api/MRef.Demo.Enumeration.ColorType.html\",\"topicUid\":\"MRef.Demo.Enumeration.ColorType\"}]}]},{\"name\":\"REST API\",\"includedFrom\":\"~/restapi/toc.md\",\"items\":[{\"name\":\"Pet Store API\",\"href\":\"../restapi/petstore.html\",\"topicHref\":\"../restapi/petstore.html\"},{\"name\":\"Contacts API\",\"href\":\"../restapi/contacts.html\",\"topicHref\":\"../restapi/contacts.html\"}]}],\"pdf\":true,\"pdfTocPage\":true}" +} \ No newline at end of file diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/toc.pdf.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/toc.pdf.verified.json new file mode 100644 index 00000000000..d1ff50a7c2b --- /dev/null +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/toc.pdf.verified.json @@ -0,0 +1,4676 @@ +{ + "NumberOfPages": 121, + "Pages": [ + { + "Number": 1, + "Text": "Table of ContentsArticlesGetting Started3Engineering DocsSection 1Engineering Guidelines5CSharp Coding Standards8Markdown14Microsoft DocsAPI DocumentationBuildFromAssembly19Class120BuildFromCSharpSourceCode21CSharp22BuildFromProject23Issue854024A25A26B27B28Class129Class1.IIssue894834Class1.Issue866535Class1.Issue8696Attribute38Class1.Issue894840Class1.Issue926041Class1.Test42IInheritdoc43Inheritdoc44Inheritdoc.Issue636646Inheritdoc.Issue6366.Class147Inheritdoc.Issue6366.Class249Inheritdoc.Issue703550Inheritdoc.Issue748451Inheritdoc.Issue810153Inheritdoc.Issue812955BuildFromVBSourceCode56BaseClass157Class158", + "Links": [ + { + "Uri": "https://docs.microsoft.com/en-us/" + }, + { + "Goto": { + "PageNumber": 3, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 5, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 8, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 14, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 19, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 20, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 21, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 22, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 24, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 25, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 26, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 27, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 28, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 29, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 34, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 35, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 38, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 40, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 41, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 42, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 43, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 44, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 46, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 47, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 49, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 50, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 51, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 53, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 55, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 56, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 57, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 58, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 2, + "Text": "CatLibrary60Core62ContainersRefType63ContainersRefType.ColorType65ContainersRefType.ContainersRefTypeChild66ContainersRefType.ContainersRefTypeChildInterface67ContainersRefType.ContainersRefTypeDelegate68ExplicitLayoutClass69Issue23170CatException71Cat72Complex81FakeDelegate82IAnimal83ICat86ICatExtension87MRefDelegate89MRefNormalDelegate90Tom91TomFromBaseClass93MRef.Demo.Enumeration94ColorType95REST APIPet Store API96Contacts API111", + "Links": [ + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 63, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 65, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 66, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 67, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 68, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 69, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 70, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 71, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 72, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 81, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 82, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 83, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 86, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 87, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 89, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 90, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 91, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 93, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 94, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 95, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 96, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 111, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 3, + "NumberOfImages": 1, + "Text": "3Getting Started with docfxGetting StartedThis is a seed.", + "Links": [ + { + "Uri": "" + } + ] + }, + { + "Number": 4, + "Text": "4docfx is an API documentation generator for .NET, currently support C# and VB. It has theability to extract triple slash comments out from your source code. What's more, it hassyntax to link additional files to API to add additional remarks. docfx will scan your sourcecode and your additional conceptual files and generate a complete HTML documentationwebsite for you. docfx provides the flexibility for you to customize the website throughtemplates. We currently have several embedded templates, including websites containingpure static html pages and also website managed by AngularJS.Click \"View Source\" for an API to route to the source code in GitHub (your API must bepushed to GitHub)docfx provide DNX version for cross platform use.docfx can be used within Visual Studio seamlessly. NOTE offical docfx.msbuild nugetpackage is now in pre-release version. You can also build your own with source codeand use it locally.We support Docfx Flavored Markdown(DFM) for writing conceptual files. DFM is100% compatible with Github Flavored Markdown(GFM) and add several new featuresincluding file inclusion, cross reference, and yaml header.", + "Links": [] + }, + { + "Number": 5, + "Text": "5Engineering GuidelinesBasicsCopyright header and license noticeAll source code files require the following exact header according to its language (please donot make any changes to it).extension: .csextension: .jsextension: .cssextension: .tmpl, .tmpl.partialExternal dependenciesThis refers to dependencies on projects (i.e. NuGet packages) outside of the docfx repo, andespecially outside of Microsoft. Adding new dependencies require additional approval.Current approved dependencies are:Newtonsoft.JsonJintHtmlAgilityPack// Licensed to the .NET Foundation under one or more agreements.// The .NET Foundation licenses this file to you under the MIT license.// Licensed to the .NET Foundation under one or more agreements.// The .NET Foundation licenses this file to you under the MIT license./** * Licensed to the .NET Foundation under one or more agreements. * The .NET Foundation licenses this file to you under the MIT license. */{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation lic", + "Links": [] + }, + { + "Number": 6, + "Text": "6NustacheYamlDotNetCode reviews and checkinsTo help ensure that only the highest quality code makes its way into the project, pleasesubmit all your code changes to GitHub as PRs. This includes runtime code changes, unittest updates, and deployment scripts. For example, sending a PR for just an update to aunit test might seem like a waste of time but the unit tests are just as important as theproduct code and as such, reviewing changes to them is also just as important.The advantages are numerous: improving code quality, more visibility on changes and theirpotential impact, avoiding duplication of effort, and creating general awareness of progressbeing made in various areas.In general a PR should be signed off(using the \uD83D\uDC4D emoticon) by the Owner of that code.To commit the PR to the repo do not use the Big Green Button. Instead, do a typicalpush that you would use with Git (e.g. local pull, rebase, merge, push).Source Code ManagementBranch strategyIn general:master has the code for the latest release on NuGet.org. (e.g. 1.0.0, 1.1.0)dev has the code that is being worked on but not yet released. This is the branch intowhich devs normally submit pull requests and merge changes into. We run daily CItowards dev branch and generate pre-release nuget package, e.g. 1.0.1-alpha-9-abcdefsd.hotfix has the code for fixing master bug after it is released. hotfix changes will bemerged back to master and dev once it is verified.Solution and project folder structure and namingSolution files go in the repo root. The default entry point is All.sln.Every project also needs a project.json and a matching .xproj file. This project.json is thesource of truth for a project's dependencies and configuration options.Solution need to contain solution folders that match the physical folder (src, test, tools,etc.).Assembly naming pattern", + "Links": [] + }, + { + "Number": 7, + "Text": "7The general naming pattern is Docfx...Unit testsWe use xUnit.net for all unit testing.Coding StandardsPlease refer to C# Coding standards for detailed guideline for C# coding standards.TODO Template Coding standardsTODO Template Preprocess JS Coding standards", + "Links": [ + { + "Goto": { + "PageNumber": 8, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 8, + "Text": "8C# Coding StandardsIntroductionThe coding standard will be used in conjunction with customized version of StyleCop andFxCop [TODO] during both development and build process. This will help ensure that thestandard is followed by all developers on the team in a consistent manner.\"Any fool can write code that a computer can understand. Good programmers writecode that humans understand\".Martin Fowler. Refactoring: Improving the design of existing code.PurposeThe aim of this section is to define a set of C# coding standards to be used by CAPS buildteam to guarantee maximum legibility, reliability, re-usability and homogeneity of our code.Each section is marked Mandatory or Recommended. Mandatory sections, will be enforcedduring code reviews as well as tools like StyleCop and FxCop, and code will not beconsidered complete until it is compliant.ScopeThis section contains general C# coding standards which can be applied to any type ofapplication developed in C#, based on Framework Design Guidelines\uF1C5.It does not pretend to be a tutorial on C#. It only includes a set of limitations andrecommendations focused on clarifying the development.ToolsResharper\uF1C5 is a great 3rd party code cleanup and style tool.StyleCop\uF1C5 analyzes C# srouce code to enforce a set of style and consistency rules andhas been integrated into many 3rd party development tools such as Resharper.FxCop\uF1C5 is an application that analyzes managed code assemblies (code that targetsthe .NET Framework common language runtime) and reports information about theassemblies, such as possible design, localization, performance, and securityimprovements.C# Stylizer\uF1C5 does many of the style rules automaticallyHighlights of Coding StandardsThis section is not intended to give a summary of all the coding standards that enabled byour customized StyleCop, but to give a highlight of some rules one will possibly meet in", + "Links": [ + { + "Uri": "http://msdn.microsoft.com/en-us/library/ms229042.aspx" + }, + { + "Uri": "http://www.jetbrains.com/resharper/" + }, + { + "Uri": "http://stylecop.codeplex.com/" + }, + { + "Uri": "http://codebox/SDLFxCop" + }, + { + "Uri": "http://toolbox/22561" + } + ] + }, + { + "Number": 9, + "Text": "9daily coding life. It also provides some recommended however not mandatory(which meansnot enabled in StyleCop) coding standards.File Layout (Recommended)Only one public class is allowed per file.The file name is derived from the class name.Class Definition Order (Mandatory)The class definition contains class members in the following order, from less restrictedscope (public) to more restrictive (private):Nested types, e.g. classes, enum, struct, etc.Field members, e.g. member variables, const, etc.Member functionsConstructorsFinalizer (Do not use unless absolutely necessary)Methods (Properties, Events, Operations, Overridables, Static)Private nested typesNaming (Mandatory)DO use PascalCasing for all public member, type, and namespace names consisting ofmultiple words.NOTE: A special case is made for two-letter acronyms in which both letters are capitalized,e.g. IOStreamDO use camelCasing for parameter names.Class : ObserverFilename: Observer.cs PropertyDescriptor HtmlTag IOStream propertyDescriptor htmlTag ioStream", + "Links": [] + }, + { + "Number": 10, + "Text": "10DO start with underscore for private fieldsDO start static readonly fields, constants with capitalized caseDO NOT capitalize each word in so-called closed-form compound words\uF1C5.DO have \"Async\" explicitly in the Async method name to notice people how to use itproperlyFormatting (Mandatory)DO use spaces over tabs, and always show all spaces/tabs in IDETipsVisual Studio > TOOLS > Options > Text Editor > C# > Tabs > Insert spaces (Tab size:4)Visual Studio > Edit > Advanced > View White SpaceDO add using inside namespace declarationDO add a space when:1. for (var i = 0; i < 1; i++)2. if (a == b)Cross-platform codingOur code should supports multiple operating systems. Don't assume we only run (anddevelop) on Windows. Code should be sensitvie to the differences between OS's. Here aresome specifics to consider. private readonly Guid _userId = Guid.NewGuid(); private static readonly IEntityAccessor EntityAccessor = null; private const string MetadataName = \"MetadataName\"; namespace Microsoft.Content.Build.BuildWorker.UnitTest { using System; }", + "Links": [ + { + "Uri": "http://msdn.microsoft.com/en-us/library/ms229043.aspx" + } + ] + }, + { + "Number": 11, + "Text": "11DO use Enviroment.NewLine instead of hard-coding the line break instead of \\r\\n, asWindows uses \\r\\n and OSX/Linux uses \\n.NoteBe aware that thes line-endings may cause problems in code when using @\"\" text blockswith line breaks.DO Use Path.Combine() or Path.DirectorySeparatorChar to separate directories. If this isnot possible (such as in scripting), use a forward slash /. Windows is more forgivingthan Linux in this regard.Unit tests and functional testsAssembly namingThe unit tests for the Microsoft.Foo assembly live in the Microsoft.Foo.Tests assembly.The functional tests for the Microsoft.Foo assmebly live in theMicrosoft.Foo.FunctionalTests assmebly.In general there should be exactly one unit test assebmly for each product runtimeassembly. In general there should be one functional test assembly per repo. Exceptions canbe made for both.Unit test class namingTest class names end with Test and live in the same namespace as the class being tested.For example, the unit tests for the Microsoft.Foo.Boo class would be in a Microsoft.Foo.Booclass in the test assembly.Unit test method namingUnit test method names must be descriptive about what is being tested, under whatconditions, and what the expectations are. Pascal casing and underscores can be used toimprove readability. The following test names are correct:The following test names are incorrect:PublicApiArgumentsShouldHaveNotNullAnnotationPublic_api_arguments_should_have_not_null_annotationTest1Constructor", + "Links": [] + }, + { + "Number": 12, + "Text": "12Unit test structureThe contents of every unit test should be split into three distinct stages, optionallyseparated by these comments:The crucial thing here is the Act stage is exactly one statement. That one statement isnothing more than a call to the one method that you are trying to test. keeping that onestatement as simple as possible is also very important. For example, this is not ideal:This style is not recomended because way too many things can go wrong in this onestatement. All the GetComplexParamN() calls can throw for a variety of reasons unrelated tothe test itself. It is thus unclear to someone running into a problem why the failure occured.The ideal pattern is to move the complex parameter building into the `Arrange section:Now the only reason the line with CallSomeMethod() can fail is if the method itself blew up.Testing exception messagesIn general testing the specific exception message in a unit test is important. This ensuresthat the exact desired exception is what is being tested rather than a different exception ofthe same type. In order to verify the exact exception it is important to verify the message.FormatStringGetData// Arrange// Act// Assertint result = myObj.CallSomeMethod(GetComplexParam1(), GetComplexParam2(), GetComplexPar// ArrangeP1 p1 = GetComplexParam1();P2 p2 = GetComplexParam2();P3 p3 = GetComplexParam3();// Actint result = myObj.CallSomeMethod(p1, p2, p3);// AssertAssert.AreEqual(1234, result);", + "Links": [] + }, + { + "Number": 13, + "Text": "13Use xUnit.net's plethora of built-in assertionsxUnit.net includes many kinds of assertions – please use the most appropriate one for yourtest. This will make the tests a lot more readable and also allow the test runner report thebest possible errors (whether it's local or the CI machine). For example, these are bad:These are good:Parallel testsBy default all unit test assemblies should run in parallel mode, which is the default. Unittests shouldn't depend on any shared state, and so should generally be runnable inparallel. If the tests fail in parallel, the first thing to do is to figure out why; do not justdisable parallel tests!For functional tests it is reasonable to disable parallel tests.var ex = Assert.Throws( () => fruitBasket.GetBananaById(1234));Assert.Equal( \"1234\", ex.Message);Assert.Equal(true, someBool);Assert.True(\"abc123\" == someString);Assert.True(list1.Length == list2.Length);for (int i = 0; i < list1.Length; i++) { Assert.True( String.Equals list1[i], list2[i], StringComparison.OrdinalIgnoreCase));}Assert.True(someBool);Assert.Equal(\"abc123\", someString);// built-in collection assertions!Assert.Equal(list1, list2, StringComparer.OrdinalIgnoreCase);", + "Links": [] + }, + { + "Number": 14, + "Text": "14MarkdownMarkdown\uF1C5 is a lightweight markup language with plain text formatting syntax. Docfxsupports CommonMark\uF1C5 compliant Markdown parsed through the Markdig\uF1C5 parsingengine.Link to Math ExpressionsBlock QuotesThis is a block quote.AlertsNOTEInformation the user should notice even if skimming.\uF431TIPOptional information to help a user be more successful.\uF431IMPORTANTEssential information required for user success.\uF623CAUTIONNegative potential consequences of an action.\uF623WARNINGDangerous certain consequences of an action.\uF333", + "Links": [ + { + "Uri": "https://daringfireball.net/projects/markdown/" + }, + { + "Uri": "https://commonmark.org/" + }, + { + "Uri": "https://github.com/xoofx/markdig" + }, + { + "Goto": { + "PageNumber": 16, + "Coordinates": { + "Left": 29.000002, + "Top": 225.99988 + } + } + } + ] + }, + { + "Number": 15, + "NumberOfImages": 1, + "Text": "15ImageMermaid DiagramsFlowchartCode SnippetThe example highlights lines 2, line 5 to 7 and lines 9 to the end of the file.MY TODOThis is a TODO.TextOneTwoHardRoundDecisionResult 1Result 2", + "Links": [ + { + "Uri": "https://learn.microsoft.com/en-us/media/learn/not-found/learn-not-found-light-mode.png?branch=main" + } + ] + }, + { + "Number": 16, + "Text": "16Math ExpressionsThis sentence uses $ delimiters to show math inline: The Cauchy-Schwarz InequalityThis expression uses \\$ to display a dollar sign: To split $100 in half, we calculate using System;using Azure;using Azure.Storage;using Azure.Storage.Blobs;class Program{ static void Main(string[] args) { // Define the connection string for the storage account string connectionString = \"DefaultEndpointsProtocol=https;AccountName=InheritdocInheritdoc.Issue6366Inheritdoc.Issue6366.Class1Inheritdoc.Issue6366.Class2Inheritdoc.Issue7035Inheritdoc.Issue7484This is a test class to have something for DocFX to document.Inheritdoc.Issue8101StructsInheritdoc.Issue8129InterfacesClass1.IIssue8948IInheritdocEnumsClass1.Issue9260Namespace BuildFromProject", + "Links": [ + { + "Goto": { + "PageNumber": 24, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 29, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 35, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 38, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 40, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 42, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 44, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 46, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 47, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 49, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 50, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 51, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 53, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 55, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 34, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 43, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 41, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 24, + "Text": "24NamespacesBuildFromProject.Issue8540.ABuildFromProject.Issue8540.BNamespace BuildFromProject.Issue8540", + "Links": [ + { + "Goto": { + "PageNumber": 25, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 27, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 25, + "Text": "25ClassesANamespace BuildFromProject.Issue8540.A", + "Links": [ + { + "Goto": { + "PageNumber": 26, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 26, + "Text": "26Namespace:BuildFromProject.Issue8540.AAssembly:BuildFromProject.dllInheritanceobject\uF1C5 AInherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5Class Apublic class A\uF12C", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 24, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 25, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 27, + "Text": "27ClassesBNamespace BuildFromProject.Issue8540.B", + "Links": [ + { + "Goto": { + "PageNumber": 28, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 28, + "Text": "28Namespace:BuildFromProject.Issue8540.BAssembly:BuildFromProject.dllInheritanceobject\uF1C5 BInherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5Class Bpublic class B\uF12C", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 24, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 27, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 29, + "Text": "29Namespace:BuildFromProjectAssembly:BuildFromProject.dllInheritanceobject\uF1C5 Class1ImplementsIClass1Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5MethodsPricing models are used to calculate theoretical option values1-Black Scholes2-Black763-Black76Fut4-Equity Tree5-Variance Swap6-Dividend ForecastIConfiguration related helper and extension routines.Class Class1public class Class1 : IClass1\uF12CIssue1651()public void Issue1651()Issue1887()", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 30, + "Text": "30ExamplesRemarksFor example:Remarkspublic void Issue1887()Issue2623()public void Issue2623()MyClass myClass = new MyClass();void Update(){ myClass.Execute();}MyClass myClass = new MyClass();void Update(){ myClass.Execute();}Issue2723()public void Issue2723()NOTEThis is a . & \" '\uF431", + "Links": [] + }, + { + "Number": 31, + "Text": "31Inline .link\uF1C5ExamplesRemarksfor (var i = 0; i > 10; i++) // & \" 'var range = new Range { Min = 0, Max = 10 };var range = new Range { Min = 0, Max = 10 };Issue4017()public void Issue4017()public void HookMessageDeleted(BaseSocketClient client){ client.MessageDeleted += HandleMessageDelete;}public Task HandleMessageDelete(Cacheable cachedMessage, ISocketMessag{ // check if the message exists in cache; if not, we cannot report what was removed if (!cachedMessage.HasValue) return; var message = cachedMessage.Value; Console.WriteLine($\"A message ({message.Id}) from {message.Author} was removed from + Environment.NewLine + message.Content); return Task.CompletedTask;}void Update(){ myClass.Execute();}", + "Links": [ + { + "Uri": "https://www.github.com/" + } + ] + }, + { + "Number": 32, + "Text": "32Remarks@\"\\\\?\\\" @\"\\\\?\\\"RemarksThere's really no reason to not believe that this class can test things.TermDescriptionA TermA DescriptionBee TermBee DescriptionType ParametersTTestIssue4392()public void Issue4392()Issue7484()public void Issue7484()Issue8764()public void Issue8764() where T : unmanagedIssue896()public void Issue896()", + "Links": [] + }, + { + "Number": 33, + "Text": "33See AlsoClass1.Test, Class1Calculates the determinant of a 3-dimensional matrix:Returns the smallest value:Returnsdouble\uF1C5This method should do something...RemarksThis is remarks.Issue9216()public static double Issue9216()XmlCommentIncludeTag()public void XmlCommentIncludeTag()", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.double" + }, + { + "Goto": { + "PageNumber": 29, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 42, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 29, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 34, + "Text": "34Namespace:BuildFromProjectAssembly:BuildFromProject.dllMethodsDoes nothing with generic type T.Type ParametersTA generic type.Interface Class1.IIssue8948public interface Class1.IIssue8948DoNothing()void DoNothing()", + "Links": [ + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 35, + "Text": "35Namespace:BuildFromProjectAssembly:BuildFromProject.dllInheritanceobject\uF1C5 Class1.Issue8665Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5ConstructorsParametersfoo int\uF1C5Class Class1.Issue8665public class Class1.Issue8665\uF12CIssue8665()public Issue8665()Issue8665(int)public Issue8665(int foo)Issue8665(int, char)public Issue8665(int foo, char bar)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 36, + "Text": "36Parametersfoo int\uF1C5bar char\uF1C5Parametersfoo int\uF1C5bar char\uF1C5baz string\uF1C5PropertiesProperty Valuechar\uF1C5Property Valuestring\uF1C5Issue8665(int, char, string)public Issue8665(int foo, char bar, string baz)Barpublic char Bar { get; }Bazpublic string Baz { get; }", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.char" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.char" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.char" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + } + ] + }, + { + "Number": 37, + "Text": "37Property Valueint\uF1C5Foopublic int Foo { get; }", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + } + ] + }, + { + "Number": 38, + "Text": "38Namespace:BuildFromProjectAssembly:BuildFromProject.dllInheritanceobject\uF1C5 Attribute\uF1C5 Class1.Issue8696AttributeInherited MembersAttribute.Equals(object)\uF1C5 , Attribute.GetCustomAttribute(Assembly, Type)\uF1C5 ,Attribute.GetCustomAttribute(Assembly, Type, bool)\uF1C5 ,Attribute.GetCustomAttribute(MemberInfo, Type)\uF1C5 ,Attribute.GetCustomAttribute(MemberInfo, Type, bool)\uF1C5 ,Attribute.GetCustomAttribute(Module, Type)\uF1C5 ,Attribute.GetCustomAttribute(Module, Type, bool)\uF1C5 ,Attribute.GetCustomAttribute(ParameterInfo, Type)\uF1C5 ,Attribute.GetCustomAttribute(ParameterInfo, Type, bool)\uF1C5 ,Attribute.GetCustomAttributes(Assembly)\uF1C5 ,Attribute.GetCustomAttributes(Assembly, bool)\uF1C5 ,Attribute.GetCustomAttributes(Assembly, Type)\uF1C5 ,Attribute.GetCustomAttributes(Assembly, Type, bool)\uF1C5 ,Attribute.GetCustomAttributes(MemberInfo)\uF1C5 ,Attribute.GetCustomAttributes(MemberInfo, bool)\uF1C5 ,Attribute.GetCustomAttributes(MemberInfo, Type)\uF1C5 ,Attribute.GetCustomAttributes(MemberInfo, Type, bool)\uF1C5 ,Attribute.GetCustomAttributes(Module)\uF1C5 , Attribute.GetCustomAttributes(Module, bool)\uF1C5 ,Attribute.GetCustomAttributes(Module, Type)\uF1C5 ,Attribute.GetCustomAttributes(Module, Type, bool)\uF1C5 ,Attribute.GetCustomAttributes(ParameterInfo)\uF1C5 ,Attribute.GetCustomAttributes(ParameterInfo, bool)\uF1C5 ,Attribute.GetCustomAttributes(ParameterInfo, Type)\uF1C5 ,Attribute.GetCustomAttributes(ParameterInfo, Type, bool)\uF1C5 , Attribute.GetHashCode()\uF1C5 ,Attribute.IsDefaultAttribute()\uF1C5 , Attribute.IsDefined(Assembly, Type)\uF1C5 ,Attribute.IsDefined(Assembly, Type, bool)\uF1C5 , Attribute.IsDefined(MemberInfo, Type)\uF1C5 ,Attribute.IsDefined(MemberInfo, Type, bool)\uF1C5 , Attribute.IsDefined(Module, Type)\uF1C5 ,Attribute.IsDefined(Module, Type, bool)\uF1C5 , Attribute.IsDefined(ParameterInfo, Type)\uF1C5 ,Attribute.IsDefined(ParameterInfo, Type, bool)\uF1C5 , Attribute.Match(object)\uF1C5 ,Class Class1.Issue8696Attributepublic class Class1.Issue8696Attribute : Attribute\uF12C\uF12C", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.equals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute(system-reflection-assembly-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute(system-reflection-assembly-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute(system-reflection-memberinfo-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute(system-reflection-memberinfo-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute(system-reflection-module-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute(system-reflection-module-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute(system-reflection-parameterinfo-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute(system-reflection-parameterinfo-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-assembly)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-assembly-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-assembly-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-assembly-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-memberinfo)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-memberinfo-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-memberinfo-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-memberinfo-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-module)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-module-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-module-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-module-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-parameterinfo)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-parameterinfo-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-parameterinfo-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-parameterinfo-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.isdefaultattribute" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined(system-reflection-assembly-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined(system-reflection-assembly-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined(system-reflection-memberinfo-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined(system-reflection-memberinfo-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined(system-reflection-module-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined(system-reflection-module-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined(system-reflection-parameterinfo-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined(system-reflection-parameterinfo-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.match" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 39, + "Text": "39Attribute.TypeId\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5ConstructorsParametersdescription string\uF1C5boundsMin int\uF1C5boundsMax int\uF1C5validGameModes string\uF1C5[]hasMultipleSelections bool\uF1C5enumType Type\uF1C5Issue8696Attribute(string?, int, int, string[]?, bool,Type?)[Class1.Issue8696(\"Changes the name of the server in the server list\", 0, 0, null, falspublic Issue8696Attribute(string? description = null, int boundsMin = 0, int boundsMax ", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.typeid" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.type" + } + ] + }, + { + "Number": 40, + "Text": "40Namespace:BuildFromProjectAssembly:BuildFromProject.dllInheritanceobject\uF1C5 Class1.Issue8948ImplementsClass1.IIssue8948Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5MethodsDoes nothing with generic type T.Type ParametersTA generic type.Class Class1.Issue8948public class Class1.Issue8948 : Class1.IIssue8948\uF12CDoNothing()public void DoNothing()", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 29, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 34, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 41, + "Text": "41Namespace:BuildFromProjectAssembly:BuildFromProject.dllFieldsValue = 0This is a regular enum value.[Obsolete] OldAndUnusedValue = 1This is old and unused. You shouldn't use it anymore.[Obsolete(\"Use Value\")] OldAndUnusedValue2 = 2This is old and unused. You shouldn't use it anymore.Enum Class1.Issue9260public enum Class1.Issue9260", + "Links": [ + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 42, + "Text": "42Namespace:BuildFromProjectAssembly:BuildFromProject.dllType ParametersTInheritanceobject\uF1C5 Class1.TestInherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5Class Class1.Testpublic class Class1.Test\uF12C", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 43, + "Text": "43Namespace:BuildFromProjectAssembly:BuildFromProject.dllMethodsThis method should do something...Interface IInheritdocpublic interface IInheritdocIssue7629()void Issue7629()", + "Links": [ + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 44, + "Text": "44Namespace:BuildFromProjectAssembly:BuildFromProject.dllInheritanceobject\uF1C5 InheritdocImplementsIInheritdoc, IDisposable\uF1C5Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5MethodsPerforms application-defined tasks associated with freeing, releasing, or resettingunmanaged resources.This method should do something...Class Inheritdocpublic class Inheritdoc : IInheritdoc, IDisposable\uF12CDispose()public void Dispose()Issue7628()public void Issue7628()Issue7629()", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.idisposable" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 43, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 45, + "Text": "45This method should do something...public void Issue7629()", + "Links": [] + }, + { + "Number": 46, + "Text": "46Namespace:BuildFromProjectAssembly:BuildFromProject.dllInheritanceobject\uF1C5 Inheritdoc.Issue6366Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5Class Inheritdoc.Issue6366public class Inheritdoc.Issue6366\uF12C", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 47, + "Text": "47Namespace:BuildFromProjectAssembly:BuildFromProject.dllType ParametersTInheritanceobject\uF1C5 Inheritdoc.Issue6366.Class1DerivedInheritdoc.Issue6366.Class2Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5MethodsThis text inherited.Parametersparm1 TThis text NOT inherited.parm2 int\uF1C5This text inherited.Class Inheritdoc.Issue6366.Class1public abstract class Inheritdoc.Issue6366.Class1\uF12CTestMethod1(T, int)public abstract T TestMethod1(T parm1, int parm2)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 49, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 48, + "Text": "48ReturnsTThis text inherited.", + "Links": [] + }, + { + "Number": 49, + "Text": "49Namespace:BuildFromProjectAssembly:BuildFromProject.dllInheritanceobject\uF1C5 Inheritdoc.Issue6366.Class1 Inheritdoc.Issue6366.Class2Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5MethodsThis text inherited.Parametersparm1 bool\uF1C5This text NOT inherited.parm2 int\uF1C5This text inherited.Returnsbool\uF1C5This text inherited.Class Inheritdoc.Issue6366.Class2public class Inheritdoc.Issue6366.Class2 : Inheritdoc.Issue6366.Class1\uF12C\uF12CTestMethod1(bool, int)public override bool TestMethod1(bool parm1, int parm2)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 44, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 46, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 47, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 50, + "Text": "50Namespace:BuildFromProjectAssembly:BuildFromProject.dllInheritanceobject\uF1C5 Inheritdoc.Issue7035Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5MethodsClass Inheritdoc.Issue7035public class Inheritdoc.Issue7035\uF12CA()public void A()B()public void B()", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 51, + "Text": "51Namespace:BuildFromProjectAssembly:BuildFromProject.dllThis is a test class to have something for DocFX to document.Inheritanceobject\uF1C5 Inheritdoc.Issue7484Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5RemarksWe're going to talk about things now.BoolReturningMethod(bool)Simple method to generate docs for.DoDadA string that could have something.ConstructorsThis is a constructor to document.PropertiesClass Inheritdoc.Issue7484public class Inheritdoc.Issue7484\uF12CIssue7484()public Issue7484()DoDad", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 52, + "Coordinates": { + "Left": 29.000002, + "Top": 553.75 + } + } + }, + { + "Goto": { + "PageNumber": 51, + "Coordinates": { + "Left": 29.000002, + "Top": 60.25 + } + } + } + ] + }, + { + "Number": 52, + "Text": "52A string that could have something.Property Valuestring\uF1C5MethodsSimple method to generate docs for.Parameterssource bool\uF1C5A meaningless boolean value, much like most questions in the world.Returnsbool\uF1C5An exactly equivalently meaningless boolean value, much like most answers in the world.RemarksI'd like to take a moment to thank all of those who helped me get to a place where I canwrite documentation like this.public string DoDad { get; }BoolReturningMethod(bool)public bool BoolReturningMethod(bool source)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + } + ] + }, + { + "Number": 53, + "Text": "53Namespace:BuildFromProjectAssembly:BuildFromProject.dllInheritanceobject\uF1C5 Inheritdoc.Issue8101Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5MethodsCreate a new tween.Parametersfrom int\uF1C5The starting value.to int\uF1C5The end value.duration float\uF1C5Total tween duration in seconds.onChange Action\uF1C5Class Inheritdoc.Issue8101public class Inheritdoc.Issue8101\uF12CTween(int, int, float, Action)public static object Tween(int from, int to, float duration, Action onChange)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.single" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.action-1" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 54, + "Text": "54A callback that will be invoked every time the tween value changes.Returnsobject\uF1C5The newly created tween instance.Create a new tween.Parametersfrom float\uF1C5The starting value.to float\uF1C5The end value.duration float\uF1C5Total tween duration in seconds.onChange Action\uF1C5<float\uF1C5>A callback that will be invoked every time the tween value changes.Returnsobject\uF1C5The newly created tween instance.Tween(float, float, float, Action<float>)public static object Tween(float from, float to, float duration, Action onChange", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.single" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.single" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.single" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.action-1" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.single" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + } + ] + }, + { + "Number": 55, + "Text": "55Namespace:BuildFromProjectAssembly:BuildFromProject.dllInherited MembersValueType.Equals(object)\uF1C5 , ValueType.GetHashCode()\uF1C5 , ValueType.ToString()\uF1C5 ,object.Equals(object, object)\uF1C5 , object.GetType()\uF1C5 ,object.ReferenceEquals(object, object)\uF1C5ConstructorsParametersfoo string\uF1C5Struct Inheritdoc.Issue8129public struct Inheritdoc.Issue8129Issue8129(string)public Issue8129(string foo)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.valuetype.equals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.valuetype.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.valuetype.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 56, + "Text": "56ClassesBaseClass1This is the BaseClassClass1This is summary from vb class...Namespace BuildFromVBSourceCode", + "Links": [ + { + "Goto": { + "PageNumber": 57, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 58, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 57, + "Text": "57Namespace:BuildFromVBSourceCodeThis is the BaseClassInheritanceobject\uF1C5 BaseClass1DerivedClass1Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.Finalize()\uF1C5 ,object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 ,object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5MethodsParameterskeyword Class1ReturnsDateTime\uF1C5Class BaseClass1public abstract class BaseClass1\uF12CWithDeclarationKeyword(Class1)public abstract DateTime WithDeclarationKeyword(Class1 keyword)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.finalize" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.datetime" + }, + { + "Goto": { + "PageNumber": 56, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 58, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 58, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 58, + "Text": "58Namespace:BuildFromVBSourceCodeThis is summary from vb class...Inheritanceobject\uF1C5 BaseClass1 Class1Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.Finalize()\uF1C5 ,object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 ,object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5FieldsThis is a Value typeField ValueClass1PropertiesProperty ValueClass Class1public class Class1 : BaseClass1\uF12C\uF12CValueClasspublic Class1 ValueClassKeyword[Obsolete(\"This member is obsolete.\", true)]public Class1 Keyword { get; }", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.finalize" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 56, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 57, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 58, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 59, + "Text": "59Class1MethodsThis is a FunctionParametersname string\uF1C5Name as the String valueReturnsint\uF1C5Returns AhoooWhat is Sub?Parameterskeyword Class1ReturnsDateTime\uF1C5Value(string)public int Value(string name)WithDeclarationKeyword(Class1)public override DateTime WithDeclarationKeyword(Class1 keyword)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.datetime" + }, + { + "Goto": { + "PageNumber": 58, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 58, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 60, + "Text": "60NamespacesCatLibrary.CoreClassesCatExceptionCatHere's main class of this Demo.You can see mostly type of article within this class and you for more detail, please see theremarks.this class is a template class. It has two Generic parameter. they are: T and K.The extension method of this class can refer to ICatExtension classComplexICatExtensionIt's the class that contains ICat interface's extension method.This class must be public and static.Also it shouldn't be a geneic classTomTom class is only inherit from Object. Not any member inside itself.TomFromBaseClassTomFromBaseClass inherits from @InterfacesIAnimalThis is basic interface of all animal.ICatCat's interfaceDelegatesFakeDelegateFake delegateNamespace CatLibrary", + "Links": [ + { + "Goto": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 71, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 72, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 87, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 81, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 87, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 91, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 93, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 83, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 86, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 82, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 61, + "Text": "61MRefDelegateGeneric delegate with many constrains.MRefNormalDelegateDelegate in the namespace", + "Links": [ + { + "Goto": { + "PageNumber": 89, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 90, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 62, + "Text": "62ClassesContainersRefType.ContainersRefTypeChildExplicitLayoutClassIssue231StructsContainersRefTypeStruct ContainersRefTypeInterfacesContainersRefType.ContainersRefTypeChildInterfaceEnumsContainersRefType.ColorTypeEnumeration ColorTypeDelegatesContainersRefType.ContainersRefTypeDelegateDelegate ContainersRefTypeDelegateNamespace CatLibrary.Core", + "Links": [ + { + "Goto": { + "PageNumber": 66, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 69, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 70, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 63, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 67, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 65, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 68, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 63, + "Text": "63Namespace:CatLibrary.CoreAssembly:CatLibrary.Core.dllStruct ContainersRefTypeInherited MembersValueType.Equals(object)\uF1C5 , ValueType.GetHashCode()\uF1C5 , ValueType.ToString()\uF1C5 ,object.Equals(object, object)\uF1C5 , object.GetType()\uF1C5 ,object.ReferenceEquals(object, object)\uF1C5Extension MethodsIssue231.Bar(ContainersRefType) , Issue231.Foo(ContainersRefType)FieldsColorCountField Valuelong\uF1C5PropertiesGetColorCountStruct ContainersRefTypepublic struct ContainersRefTypeColorCountpublic long ColorCountGetColorCountpublic long GetColorCount { get; }", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.valuetype.equals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.valuetype.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.valuetype.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int64" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 70, + "Coordinates": { + "Left": 29.000002, + "Top": 409.74997 + } + } + }, + { + "Goto": { + "PageNumber": 70, + "Coordinates": { + "Left": 29.000002, + "Top": 234.25 + } + } + } + ] + }, + { + "Number": 64, + "Text": "64Property Valuelong\uF1C5MethodsContainersRefTypeNonRefMethodarrayParametersparmsArray object\uF1C5[]Returnsint\uF1C5EventsEvent TypeEventHandler\uF1C5ContainersRefTypeNonRefMethod(params object[])public static int ContainersRefTypeNonRefMethod(params object[] parmsArray)ContainersRefTypeEventHandlerpublic event EventHandler ContainersRefTypeEventHandler", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int64" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.eventhandler" + } + ] + }, + { + "Number": 65, + "Text": "65Namespace:CatLibrary.CoreAssembly:CatLibrary.Core.dllEnumeration ColorTypeFieldsRed = 0redBlue = 1blueYellow = 2yellowEnum ContainersRefType.ColorTypepublic enum ContainersRefType.ColorType", + "Links": [ + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 66, + "Text": "66Namespace:CatLibrary.CoreAssembly:CatLibrary.Core.dllInheritanceobject\uF1C5 ContainersRefType.ContainersRefTypeChildInherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5ClassContainersRefType.ContainersRefTypeChildpublic class ContainersRefType.ContainersRefTypeChild\uF12C", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 67, + "Text": "67Namespace:CatLibrary.CoreAssembly:CatLibrary.Core.dllInterfaceContainersRefType.ContainersRefTypeChildInterfacepublic interface ContainersRefType.ContainersRefTypeChildInterface", + "Links": [ + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 68, + "Text": "68Namespace:CatLibrary.CoreAssembly:CatLibrary.Core.dllDelegate ContainersRefTypeDelegateDelegateContainersRefType.ContainersRefTypeDelegatepublic delegate void ContainersRefType.ContainersRefTypeDelegate()", + "Links": [ + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 69, + "Text": "69Namespace:CatLibrary.CoreAssembly:CatLibrary.Core.dllInheritanceobject\uF1C5 ExplicitLayoutClassInherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5Class ExplicitLayoutClasspublic class ExplicitLayoutClass\uF12C", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 70, + "Text": "70Namespace:CatLibrary.CoreAssembly:CatLibrary.dllInheritanceobject\uF1C5 Issue231Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5MethodsParametersc ContainersRefTypeParametersc ContainersRefTypeClass Issue231public static class Issue231\uF12CBar(ContainersRefType)public static void Bar(this ContainersRefType c)Foo(ContainersRefType)public static void Foo(this ContainersRefType c)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 63, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 63, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 71, + "Text": "71Namespace:CatLibraryAssembly:CatLibrary.dllType ParametersTInheritanceobject\uF1C5 Exception\uF1C5 CatExceptionImplementsISerializable\uF1C5Inherited MembersException.GetBaseException()\uF1C5 ,Exception.GetObjectData(SerializationInfo, StreamingContext)\uF1C5 , Exception.GetType()\uF1C5 ,Exception.ToString()\uF1C5 , Exception.Data\uF1C5 , Exception.HelpLink\uF1C5 , Exception.HResult\uF1C5 ,Exception.InnerException\uF1C5 , Exception.Message\uF1C5 , Exception.Source\uF1C5 ,Exception.StackTrace\uF1C5 , Exception.TargetSite\uF1C5 , Exception.SerializeObjectState\uF1C5 ,object.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5Class CatExceptionpublic class CatException : Exception, ISerializable\uF12C\uF12C", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.runtime.serialization.iserializable" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.getbaseexception" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.getobjectdata" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.data" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.helplink" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.hresult" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.innerexception" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.message" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.source" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.stacktrace" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.targetsite" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.serializeobjectstate" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 72, + "Text": "72Namespace:CatLibraryAssembly:CatLibrary.dllHere's main class of this Demo.You can see mostly type of article within this class and you for more detail, please see theremarks.this class is a template class. It has two Generic parameter. they are: T and K.The extension method of this class can refer to ICatExtension classThis is a class talking about CAT\uF1C5.NOTE This is a CAT classRefer to IAnimal to see other animals.Type ParametersTThis type should be class and can new instance.KThis type is a struct type, class type can't be used for this parameter.Inheritanceobject\uF1C5 CatImplementsICat, IAnimalInherited MembersClass Cat[Serializable][Obsolete]public class Cat : ICat, IAnimal where T : class, new() where K : struct\uF12C", + "Links": [ + { + "Uri": "https://en.wikipedia.org/wiki/Cat" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 87, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 83, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 86, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 83, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 73, + "Text": "73object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5Extension MethodsICatExtension.Play(ICat, ContainersRefType.ColorType) , ICatExtension.Sleep(ICat, long)ExamplesHere's example of how to create an instance of this class. As T is limited with class and K islimited with struct.As you see, here we bring in pointer so we need to add unsafe keyword.RemarksTHIS is remarks overridden in MARKDWON fileConstructorsDefault constructor.It's a complex constructor. The parameter will have some attributes.Parametersvar a = new Cat(object, int)();int catNumber = new int();unsafe{ a.GetFeetLength(catNumber);}Cat()public Cat()Cat(string, out int, string, bool)public Cat(string nickName, out int age, string realName, bool isHealthy)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 87, + "Coordinates": { + "Left": 29.000002, + "Top": 319.74997 + } + } + }, + { + "Goto": { + "PageNumber": 88, + "Coordinates": { + "Left": 29.000002, + "Top": 763 + } + } + } + ] + }, + { + "Number": 74, + "Text": "74nickName string\uF1C5it's string type.age int\uF1C5It's an out and ref parameter.realName string\uF1C5It's an out paramter.isHealthy bool\uF1C5It's an in parameter.Constructor with one generic parameter.ParametersownType TThis parameter type defined by class.FieldsField with attribute.Cat(T)public Cat(T ownType)isHealthy[ContextStatic][NonSerialized][Obsolete]public bool isHealthy", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + } + ] + }, + { + "Number": 75, + "Text": "75Field Valuebool\uF1C5PropertiesHint cat's age.Property Valueint\uF1C5This is index property of Cat. You can see that the visibility is different between get and setmethod.Parametersa string\uF1C5Cat's name.Property Valueint\uF1C5Cat's number.Age[Obsolete]protected int Age { get; set; }this[string]public int this[string a] { protected get; set; }Name", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + } + ] + }, + { + "Number": 76, + "Text": "76EII property.Property Valuestring\uF1C5MethodsIt's an overridden summary in markdown formatThis is overriding methods. You can override parameter descriptions for methods, you caneven add exceptions to methods. Check the intermediate obj folder to see the data modelof the generated method/class. Override Yaml header should follow the data structure.Parametersdate DateTime\uF1C5This is overridden description for a parameter. id must be specified.ReturnsDictionary\uF1C5>It's overridden description for return. type must be specified.ExceptionsArgumentException\uF1C5This is an overridden argument exception. you can add additional exception by addingdifferent exception type.public string Name { get; }Override CalculateFood Namepublic Dictionary> CalculateFood(DateTime date)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.datetime" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.collections.generic.dictionary-2" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.argumentexception" + } + ] + }, + { + "Number": 77, + "Text": "77Override the method of Object.Equals(object obj).Parametersobj object\uF1C5Can pass any class type.Returnsbool\uF1C5The return value tell you whehter the compare operation is successful.It's an unsafe method. As you see, catName is a pointer, so we need to add unsafe keyword.ParameterscatName int\uF1C5*Thie represent for cat name length.parameters object\uF1C5[]Optional parameters.Returnslong\uF1C5Return cat tail's length.Equals(object)public override bool Equals(object obj)GetTailLength(int*, params object[])public long GetTailLength(int* catName, params object[] parameters)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int64" + } + ] + }, + { + "Number": 78, + "Text": "78This method have attribute above it.ParametersownType TType come from class define.anotherOwnType KType come from class define.cheat bool\uF1C5Hint whether this cat has cheat mode.ExceptionsArgumentException\uF1C5This is an argument exceptionEventsEat event of this catEvent TypeEventHandler\uF1C5Jump(T, K, ref bool)[Conditional(\"Debug\")]public void Jump(T ownType, K anotherOwnType, ref bool cheat)ownEat[Obsolete(\"This _event handler_ is deprecated.\")]public event EventHandler ownEat", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.argumentexception" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.eventhandler" + } + ] + }, + { + "Number": 79, + "Text": "79OperatorsAddition operator of this class.Parameterslsr Cat..rsr int\uF1C5~~Returnsint\uF1C5Result with int type.Expilicit operator of this class.It means this cat can evolve to change to Tom. Tom and Jerry.Parameterssrc CatInstance of this class.ReturnsTomoperator +(Cat, int)public static int operator +(Cat lsr, int rsr)explicit operator Tom(Cat)public static explicit operator Tom(Cat src)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Goto": { + "PageNumber": 72, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 72, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 91, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 80, + "Text": "80Advanced class type of cat.Similar with operaotr +, refer to that topic.Parameterslsr Catrsr int\uF1C5Returnsint\uF1C5operator -(Cat, int)public static int operator -(Cat lsr, int rsr)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Goto": { + "PageNumber": 72, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 81, + "Text": "81Namespace:CatLibraryAssembly:CatLibrary.dllType ParametersTJInheritanceobject\uF1C5 ComplexInherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5Class Complexpublic class Complex\uF12C", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 82, + "Text": "82Namespace:CatLibraryAssembly:CatLibrary.dllFake delegateParametersnum long\uF1C5Fake paraname string\uF1C5Fake parascores object\uF1C5[]Optional Parameter.Returnsint\uF1C5Return a fake number to confuse you.Type ParametersTFake paraDelegate FakeDelegatepublic delegate int FakeDelegate(long num, string name, params object[] scores)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int64" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 83, + "Text": "83Namespace:CatLibraryAssembly:CatLibrary.dllThis is basic interface of all animal.Welcome to the Animal world!RemarksTHIS is remarks overridden in MARKDWON filePropertiesReturn specific number animal's name.Parametersindex int\uF1C5Animal number.Property Valuestring\uF1C5Animal name.Name of Animal.Interface IAnimalpublic interface IAnimalthis[int]string this[int index] { get; }Name", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 84, + "Text": "84Property Valuestring\uF1C5MethodsAnimal's eat method.Feed the animal with some foodParametersfood string\uF1C5Food to eatOverload method of eat. This define the animal eat by which tool.Parameterstool Toolstring Name { get; }Eat()void Eat()Eat(string)void Eat(string food)Eat(Tool)void Eat(Tool tool) where Tool : class", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + } + ] + }, + { + "Number": 85, + "Text": "85Tool name.Type ParametersToolIt's a class type.", + "Links": [] + }, + { + "Number": 86, + "Text": "86Namespace:CatLibraryAssembly:CatLibrary.dllCat's interfaceInherited MembersIAnimal.Name , IAnimal.this[int] , IAnimal.Eat() , IAnimal.Eat(Tool) ,IAnimal.Eat(string)Extension MethodsICatExtension.Play(ICat, ContainersRefType.ColorType) , ICatExtension.Sleep(ICat, long)Eventseat event of cat. Every cat must implement this event.Event TypeEventHandler\uF1C5Interface ICatpublic interface ICat : IAnimaleatevent EventHandler eat", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.eventhandler" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 83, + "Coordinates": { + "Left": 29.000002, + "Top": 89.5 + } + } + }, + { + "Goto": { + "PageNumber": 83, + "Coordinates": { + "Left": 29.000002, + "Top": 424.74997 + } + } + }, + { + "Goto": { + "PageNumber": 84, + "Coordinates": { + "Left": 29.000002, + "Top": 583.75 + } + } + }, + { + "Goto": { + "PageNumber": 84, + "Coordinates": { + "Left": 29.000002, + "Top": 213.25 + } + } + }, + { + "Goto": { + "PageNumber": 84, + "Coordinates": { + "Left": 29.000002, + "Top": 448.74997 + } + } + }, + { + "Goto": { + "PageNumber": 87, + "Coordinates": { + "Left": 29.000002, + "Top": 319.74997 + } + } + }, + { + "Goto": { + "PageNumber": 88, + "Coordinates": { + "Left": 29.000002, + "Top": 763 + } + } + } + ] + }, + { + "Number": 87, + "Text": "87Namespace:CatLibraryAssembly:CatLibrary.dllIt's the class that contains ICat interface's extension method.This class must be public and static.Also it shouldn't be a geneic classInheritanceobject\uF1C5 ICatExtensionInherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5MethodsExtension method to let cat playParametersicat ICatCattoy ContainersRefType.ColorTypeSomething to playClass ICatExtensionpublic static class ICatExtension\uF12CPlay(ICat, ColorType)public static void Play(this ICat icat, ContainersRefType.ColorType toy)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 86, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 63, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 65, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 88, + "Text": "88Extension method hint that how long the cat can sleep.Parametersicat ICatThe type will be extended.hours long\uF1C5The length of sleep.Sleep(ICat, long)public static void Sleep(this ICat icat, long hours)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int64" + }, + { + "Goto": { + "PageNumber": 86, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 89, + "Text": "89Namespace:CatLibraryAssembly:CatLibrary.dllGeneric delegate with many constrains.Parametersk KType K.t TType T.l LType L.Type ParametersKGeneric K.TGeneric T.LGeneric L.Delegate MRefDelegatepublic delegate void MRefDelegate(K k, T t, L l) where K : class, IComparable ", + "Links": [ + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 90, + "Text": "90Namespace:CatLibraryAssembly:CatLibrary.dllDelegate in the namespaceParameterspics List\uF1C5a name list of pictures.name string\uF1C5give out the needed name.Delegate MRefNormalDelegatepublic delegate void MRefNormalDelegate(List pics, out string name)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 91, + "Text": "91Namespace:CatLibraryAssembly:CatLibrary.dllTom class is only inherit from Object. Not any member inside itself.Inheritanceobject\uF1C5 TomDerivedTomFromBaseClassInherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5MethodsThis is a Tom Method with complex type as returnParametersa ComplexA complex inputb Tuple\uF1C5Another complex inputClass Tompublic class Tom\uF12CTomMethod(Complex, Tuple)public Complex TomMethod(ComplexComplex TomFromBaseClassExceptionsNotImplementedException\uF1C5This is not implementedArgumentException\uF1C5This is the exception to be thrown when implementedCatExceptionThis is the exception in current documentation", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.notimplementedexception" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.argumentexception" + }, + { + "Goto": { + "PageNumber": 81, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 93, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 93, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 71, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 93, + "Text": "93Namespace:CatLibraryAssembly:CatLibrary.dllTomFromBaseClass inherits from @Inheritanceobject\uF1C5 Tom TomFromBaseClassInherited MembersTom.TomMethod(Complex, Tuple) ,object.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5ConstructorsThis is a #ctor with parameterParametersk int\uF1C5Class TomFromBaseClasspublic class TomFromBaseClass : Tom\uF12C\uF12CTomFromBaseClass(int)public TomFromBaseClass(int k)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 91, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 91, + "Coordinates": { + "Left": 29.000002, + "Top": 331.74997 + } + } + } + ] + }, + { + "Number": 94, + "Text": "94EnumsColorTypeEnumeration ColorTypeNamespace MRef.Demo.Enumeration", + "Links": [ + { + "Goto": { + "PageNumber": 95, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 95, + "Text": "95Namespace:MRef.Demo.EnumerationAssembly:CatLibrary.dllEnumeration ColorTypeFieldsRed = 0this color is redBlue = 1blue like riverYellow = 2yellow comes from desertRemarksRed/Blue/Yellow can become all color you want.See Alsoobject\uF1C5Enum ColorTypepublic enum ColorType", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "" + }, + { + "Uri": "" + }, + { + "Goto": { + "PageNumber": 94, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 96, + "Text": "96Swagger PetstoreDescribe APIs in Pet StorepetDescription for pet tagAddPetAdd a new pet to the storeRequestParametersNameTypeDefaultNotes*bodyPetPet object that needs to be added to the storeResponsesStatus CodeTypeDescriptionSamples405Invalid inputNOTE: Add pet only when you needs.UpdatePetUpdate an existing petRequestParametersPOST /petPUT /pet", + "Links": [ + { + "Goto": { + "PageNumber": 108, + "Coordinates": { + "Left": 29.000002, + "Top": 377.50034 + } + } + } + ] + }, + { + "Number": 97, + "Text": "97NameTypeDefaultNotes*bodyPetPet object that needs to be added to the storeResponsesStatus CodeTypeDescriptionSamples400Invalid ID supplied404Pet not found405Validation exceptionFindPetsByStatusFinds Pets by statusMultiple status values can be provided with comma separated stringsRequestParametersNameTypeDefaultNotes*statusStatus values that need to be considered for filterResponsesStatus CodeTypeDescriptionSamples200Pet[]successful operation400Invalid status valueFindPetsByTagsGET /pet/findByStatus?status", + "Links": [ + { + "Goto": { + "PageNumber": 108, + "Coordinates": { + "Left": 29.000002, + "Top": 377.50034 + } + } + }, + { + "Goto": { + "PageNumber": 108, + "Coordinates": { + "Left": 29.000002, + "Top": 377.50034 + } + } + } + ] + }, + { + "Number": 98, + "Text": "98Finds Pets by tagsMuliple tags can be provided with comma separated strings. Use tag1, tag2, tag3 fortesting.RequestParametersNameTypeDefaultNotes*tagsTags to filter byResponsesStatus CodeTypeDescriptionSamples200Pet[]successful operation400Invalid tag valueDeletePetDeletes a petRequestParametersNameTypeDefaultNotesapi_key*petIdPet id to deleteResponsesGET /pet/findByTags?tagsDELETE /pet/{petId}", + "Links": [ + { + "Goto": { + "PageNumber": 108, + "Coordinates": { + "Left": 29.000002, + "Top": 377.50034 + } + } + } + ] + }, + { + "Number": 99, + "Text": "99Status CodeTypeDescriptionSamples400Invalid ID supplied404Pet not foundGetPetByIdFind pet by IDReturns a single petRequestParametersNameTypeDefaultNotes*petIdID of pet to returnResponsesStatus CodeTypeDescriptionSamples200Petsuccessful operation400Invalid ID supplied404Pet not foundUpdatePetWithFormUpdates a pet in the store with form dataRequestGET /pet/{petId}POST /pet/{petId}", + "Links": [ + { + "Goto": { + "PageNumber": 108, + "Coordinates": { + "Left": 29.000002, + "Top": 377.50034 + } + } + } + ] + }, + { + "Number": 100, + "Text": "100ParametersNameTypeDefaultNotes*petIdID of pet that needs to be updatednameUpdated name of the petstatusUpdated status of the petResponsesStatus CodeTypeDescriptionSamples405Invalid inputUploadFileuploads an imageRequestParametersNameTypeDefaultNotes*petIdID of pet to updateadditionalMetadataAdditional data to pass to serverfilefile to uploadResponsesStatus CodeTypeDescriptionSamples200ApiResponsesuccessful operationPOST /pet/{petId}/uploadImage", + "Links": [ + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 524.50031 + } + } + } + ] + }, + { + "Number": 101, + "Text": "101storeAccess to Petstore ordersAdditional description for store tagAddPetAdd a new pet to the storeRequestParametersNameTypeDefaultNotes*bodyPetPet object that needs to be added to the storeResponsesStatus CodeTypeDescriptionSamples405Invalid inputNOTE: Add pet only when you needs.GetInventoryReturns pet inventories by statusReturns a map of status codes to quantitiesRequestResponsesPOST /petGET /store/inventory", + "Links": [ + { + "Goto": { + "PageNumber": 108, + "Coordinates": { + "Left": 29.000002, + "Top": 377.50034 + } + } + } + ] + }, + { + "Number": 102, + "Text": "102Status CodeTypeDescriptionSamples200objectsuccessful operationPlaceOrderPlace an order for a petRequestParametersNameTypeDefaultNotes*bodyOrderorder placed for purchasing the petResponsesStatus CodeTypeDescriptionSamples200Ordersuccessful operation400Invalid OrderDeleteOrderDelete purchase order by IDFor valid response try integer IDs with positive integer value. Negative or non-integervalues will generate API errorsRequestParametersPOST /store/orderDELETE /store/order/{orderId}", + "Links": [ + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 360.25034 + } + } + }, + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 360.25034 + } + } + } + ] + }, + { + "Number": 103, + "Text": "103NameTypeDefaultNotes*orderIdID of the order that needs to be deletedResponsesStatus CodeTypeDescriptionSamples400Invalid ID supplied404Order not foundGetOrderByIdFind purchase order by IDFor valid response try integer IDs with value >= 1 and <= 10. Other values will generatedexceptionsRequestParametersNameTypeDefaultNotes*orderIdID of pet that needs to be fetchedResponsesStatus CodeTypeDescriptionSamples200Ordersuccessful operation400Invalid ID supplied404Order not foundGET /store/order/{orderId}", + "Links": [ + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 360.25034 + } + } + } + ] + }, + { + "Number": 104, + "Text": "104userOperations about userCreateUserCreate userThis can only be done by the logged in user.RequestParametersNameTypeDefaultNotes*bodyUserCreated user objectResponsesStatus CodeTypeDescriptionSamplesdefaultsuccessful operationCreateUsersWithArrayInputCreates list of users with given input arrayRequestParametersNameTypeDefaultNotes*bodyUser[]List of user objectResponsesPOST /userPOST /user/createWithArray", + "Links": [ + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 91.750305 + } + } + }, + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 91.750305 + } + } + } + ] + }, + { + "Number": 105, + "Text": "105Status CodeTypeDescriptionSamplesdefaultsuccessful operationCreateUsersWithListInputCreates list of users with given input arrayRequestParametersNameTypeDefaultNotes*bodyUser[]List of user objectResponsesStatus CodeTypeDescriptionSamplesdefaultsuccessful operationLoginUserLogs user into the systemRequestParametersNameTypeDefaultNotes*usernameThe user name for login*passwordThe password for login in clear textPOST /user/createWithListGET /user/login?username&password", + "Links": [ + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 91.750305 + } + } + } + ] + }, + { + "Number": 106, + "Text": "106ResponsesStatus CodeTypeDescriptionSamples200stringsuccessful operation400Invalid username/password suppliedLogoutUserLogs out current logged in user sessionRequestResponsesStatus CodeTypeDescriptionSamplesdefaultsuccessful operationDeleteUserDelete userThis can only be done by the logged in user.RequestParametersNameTypeDefaultNotes*usernameThe name that needs to be deletedResponsesGET /user/logoutDELETE /user/{username}", + "Links": [] + }, + { + "Number": 107, + "Text": "107Status CodeTypeDescriptionSamples400Invalid username supplied404User not foundGetUserByNameGet user by user nameRequestParametersNameTypeDefaultNotes*usernameThe name that needs to be fetched. Use user1 for testing.ResponsesStatus CodeTypeDescriptionSamples200Usersuccessful operation400Invalid username supplied404User not foundOther APIsUpdateUserUpdated userThis can only be done by the logged in user.RequestGET /user/{username}", + "Links": [ + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 91.750305 + } + } + } + ] + }, + { + "Number": 108, + "Text": "108ParametersNameTypeDefaultNotes*usernamename that need to be updated*bodyUserUpdated user objectResponsesStatus CodeTypeDescriptionSamples400Invalid user supplied404User not foundDefinitionsPetNameTypeNotescategoryCategory[]idinteger (int64)namestringphotoUrlsarraystatusstringpet status in the storetagsTag[]CategoryPUT /user/{username}", + "Links": [ + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 91.750305 + } + } + }, + { + "Goto": { + "PageNumber": 108, + "Coordinates": { + "Left": 29.000002, + "Top": 109.000305 + } + } + }, + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 658.00031 + } + } + } + ] + }, + { + "Number": 109, + "Text": "109NameTypeNotesidinteger (int64)namestringTagNameTypeNotesidinteger (int64)namestringApiResponseNameTypeNotescodeinteger (int32)messagestringtypestringOrderNameTypeNotescompletebooleanidinteger (int64)petIdinteger (int64)quantityinteger (int32)shipDatestring (date-time)statusstringOrder StatusUser", + "Links": [] + }, + { + "Number": 110, + "Text": "110NameTypeNotesemailstringfirstNamestringidinteger (int64)lastNamestringpasswordstringphonestringuserStatusinteger (int32)User StatususernamestringSee AlsosSee other REST APIs:Contacts API", + "Links": [ + { + "Goto": { + "PageNumber": 111, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 111, + "Text": "111ContactsGet ContactsYou can get a collection of contacts from your tenant.Required scope: Contacts.Read or Contacts.WriteRequestParametersNameTypeDefaultNotes*api-version1.6The version of the Graph API to target. Beginning withversion 1.5, the api-version string is represented inmajor.minor format. Prior releases were represented as datestrings: '2013-11-08' and '2013-04-05'. Required.ResponsesStatusCodeTypeDescriptionSamples200OK.Indicatessuccess. Theresults arereturned intheresponsebody.Mime type: application/jsonGet Contact By IdGet a contact by using the object ID.Required scope: Contacts.Read or Contacts.WriteGET /contacts?api-version{ \"odata.metadata\": \"https://graph.windows.net/myorgani \"value\": [ { \"odata.type\": \"Microsoft.DirectoryServices.Contac \"objectType\": \"Contact\", \"objectId\": \"31944231-fd52-4a7f-b32e-7902a01fddf9 \"deletionTimestamp\": null, \"city\": null,", + "Links": [] + }, + { + "Number": 112, + "Text": "112RequestParametersNameTypeDefaultNotes*object_id31944231-fd52-4a7f-b32e-7902a01fddf9The object ID (GUID) of the target contact.*api-version1.6Specifies the version of the Graph API to target.Beginning with version 1.5, the api-version stringis represented in major.minor format. Priorreleases were represented as date strings:'2013-11-08' and '2013-04-05'. Required.ResponsesStatusCodeTypeDescriptionSamples200OK.Indicatessuccess. Thecontact isreturned intheresponsebody.Mime type: application/jsonUpdate ContactChange a contact's properties.Required scope: Contacts.WriteRequestGET /contacts/{object_id}?api-version{ \"odata.metadata\": \"https://graph.windows.net/graphdir \"odata.type\": \"Microsoft.DirectoryServices.Contact\", \"objectType\": \"Contact\", \"objectId\": \"31944231-fd52-4a7f-b32e-7902a01fddf9\", \"deletionTimestamp\": null, \"city\": null, \"companyName\": null, \"country\": null,", + "Links": [] + }, + { + "Number": 113, + "Text": "113ParametersNameTypeDefaultNotes*object_id7163f3b8-70c9-43d2-b9e1-4467ddaf087aThe object ID (GUID) of the target contact.*api-version1.6The version of the Graph API to target.Beginning with version 1.5, the api-versionstring is represented in major.minor format.Prior releases were represented as datestrings: '2013-11-08' and '2013-04-05'.Required.bodyparamcontactthis is request body, not real parameterResponsesStatusCodeTypeDescriptionSamples204No Content. Indicates success. No response body isreturned.Delete ContactDelete a contact.Required scope: Contacts.WriteRequestParametersPATCH /contacts/{object_id}?api-versionDELETE /contacts/{object_id}[?api-version]", + "Links": [ + { + "Goto": { + "PageNumber": 119, + "Coordinates": { + "Left": 29.000002, + "Top": 298.74985 + } + } + } + ] + }, + { + "Number": 114, + "Text": "114NameTypeDefaultNotes*object_id7163f3b8-70c9-43d2-b9e1-4467ddaf087aThe object ID (GUID) of the target contact.api-version1.6Specifies the version of the Graph API to target.Beginning with version 1.5, the api-versionstring is represented in major.minor format. Priorreleases were represented as date strings:'2013-11-08' and '2013-04-05'. Required.ResponsesStatus CodeTypeDescriptionSamples204No Content. Indicates success.Get Contact Manager LinkGet a link to the contact's manager.Required scope: Contacts.Read or Contacts.WriteRequestParametersNameTypeDefaultNotes*object_id31944231-fd52-4a7f-b32e-7902a01fddf9The object ID (GUID) of the target contact.*api-version1.6The version of the Graph API to target.Beginning with version 1.5, the api-version stringis represented in major.minor format. Priorreleases were represented as date strings:'2013-11-08' and '2013-04-05'. Required.GET /contacts/{object_id}/$links/manager?api-version", + "Links": [] + }, + { + "Number": 115, + "Text": "115ResponsesStatusCodeTypeDescriptionSamples200OK.Indicatessuccess. Alink to thecontact'smanager isreturned.Mime type: application/json404Not Found.Therequestedresourcewas notfound. Thiscan occur ifthe managerproperty isnot currentlyset for thespecifiedcontact. Itcan alsohave othercauses, forexample, abad domain.A code andassociatedmessage isreturnedwith theerror.Mime type: application/jsonUpdate Contact Manager{ \"odata.metadata\": \"https://graph.windows.net/myorgani \"url\": \"https://graph.windows.net/myorganization/dire}{ \"odata.error\": { \"code\": \"Request_ResourceNotFound\", \"message\": { \"lang\": \"en\", \"value\": \"Resource not found for the segment 'man } }}", + "Links": [] + }, + { + "Number": 116, + "Text": "116Update the contact's managerRequired scope: Contacts.WriteRequestParametersNameTypeDefaultNotes*object_id31944231-fd52-4a7f-b32e-7902a01fddf9The object ID (GUID) of the target contact.*api-version1.6The version of the Graph API to target.Beginning with version 1.5, the api-versionstring is represented in major.minor format.Prior releases were represented as datestrings: '2013-11-08' and '2013-04-05'.Required.*bodyparamThe request body contains a single propertythat specifies the URL of the user or contact toadd as manager.ResponsesStatusCodeTypeDescriptionSamples204No Content. Indicates success. No response body isreturned.Delete Contact Manager By IdDelete the contact's manager.Required scope: Contacts.WriteRequestPUT /contacts/{object_id}/$links/manager?api-version", + "Links": [] + }, + { + "Number": 117, + "Text": "117ParametersNameTypeDefaultNotes*object_id31944231-fd52-4a7f-b32e-7902a01fddf9The object ID (GUID) of the target contact.*api-version1.6The version of the Graph API to target.Beginning with version 1.5, the api-version stringis represented in major.minor format. Priorreleases were represented as date strings:'2013-11-08' and '2013-04-05'. Required.ResponsesStatusCodeTypeDescriptionSamples204No Content. Indicates success. N response body isreturned.Get Contact Direct Reports LinksGet a links to the contact's direct reports.Required scope: Contacts.Read or Contacts.WriteRequestParametersNameTypeDefaultNotes*object_id31944231-fd52-4a7f-b32e-7902a01fddf9The object ID (GUID) of the target contact.DELETE /contacts/{object_id}/$links/manager?api-versionGET /contacts/{object_id}/$links/directReports?api-version", + "Links": [] + }, + { + "Number": 118, + "Text": "118NameTypeDefaultNotes*api-version1.6The version of the Graph API to target.Beginning with version 1.5, the api-version stringis represented in major.minor format. Priorreleases were represented as date strings:'2013-11-08' and '2013-04-05'. Required.ResponsesStatusCodeTypeDescriptionSamples200OK.Indicatessuccess.One or moredirectreports arereturned.Mime type: application/jsonGet Contact MemberOf LinksGet a links to the contact's direct group and directory role memberships.Required scope: Contacts.Read or Contacts.WriteRequestParametersNameTypeDefaultNotes*object_id31944231-fd52-4a7f-b32e-7902a01fddf9The object ID (GUID) of the target contact.{ \"odata.metadata\": \"https://graph.windows.net/myorgani \"value\": [ { \"url\": \"https://graph.windows.net/myorganization/ } ]}GET /contacts/{object_id}/$links/memberOf?api-version", + "Links": [] + }, + { + "Number": 119, + "Text": "119NameTypeDefaultNotes*api-version1.6The version of the Graph API to target.Beginning with version 1.5, the api-version stringis represented in major.minor format. Priorreleases were represented as date strings:'2013-11-08' and '2013-04-05'. Required.ResponsesStatusCodeTypeDescriptionSamples200OK.Indicatessuccess.One or moregroupsand/ordirectoryroles arereturned.Mime type: application/jsonDefinitionsContactNameTypeNotesobjectTypestringobjectIdstringdeletionTimestampstring (date-time)citystringcountrystringdepartmentstringdirSyncEnabledboolean{ \"odata.metadata\": \"https://graph.windows.net/myorgani \"value\": [ { \"url\": \"https://graph.windows.net/myorganization/ } ]}", + "Links": [] + }, + { + "Number": 120, + "Text": "120NameTypeNotesdisplayNamestringfacsimileTelephoneNumberstringgivenNamestringjobTitlestringlastDirSyncTimestring (date-time)mailstringmailNicknamestringmobilestringphysicalDeliveryOfficeNamestringpostalCodestringprovisioningErrorsProvisioningError[]proxyAddressesarraysipProxyAddressstringstatestringstreetAddressstringsurnamestringtelephoneNumberstringthumbnailPhotostringProvisioningErrorNameTypeNoteserrorDetailstringresolvedbooleanserviceInstancestring", + "Links": [ + { + "Goto": { + "PageNumber": 120, + "Coordinates": { + "Left": 29.000002, + "Top": 186.24988 + } + } + } + ] + }, + { + "Number": 121, + "Text": "121NameTypeNotestimestampstring (date-time)", + "Links": [] + } + ], + "Bookmarks": [ + { + "Title": "Articles", + "Children": [ + { + "Title": "Getting Started", + "Children": [], + "Destination": { + "PageNumber": 3, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Engineering Docs", + "Children": [ + { + "Title": "Section 1", + "Children": [], + "Destination": { + "PageNumber": 5, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Engineering Guidelines", + "Children": [], + "Destination": { + "PageNumber": 5, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "CSharp Coding Standards", + "Children": [], + "Destination": { + "PageNumber": 8, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 5, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Markdown", + "Children": [], + "Destination": { + "PageNumber": 14, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Microsoft Docs", + "Children": [], + "Uri": "https://docs.microsoft.com/en-us/" + } + ], + "Destination": { + "PageNumber": 3, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "API Documentation", + "Children": [ + { + "Title": "BuildFromAssembly", + "Children": [ + { + "Title": "Class1", + "Children": [], + "Destination": { + "PageNumber": 20, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 19, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "BuildFromCSharpSourceCode", + "Children": [ + { + "Title": "CSharp", + "Children": [], + "Destination": { + "PageNumber": 22, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 21, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "BuildFromProject", + "Children": [ + { + "Title": "Issue8540", + "Children": [ + { + "Title": "A", + "Children": [ + { + "Title": "A", + "Children": [], + "Destination": { + "PageNumber": 26, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 25, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "B", + "Children": [ + { + "Title": "B", + "Children": [], + "Destination": { + "PageNumber": 28, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 27, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 24, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Class1", + "Children": [], + "Destination": { + "PageNumber": 29, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Class1.IIssue8948", + "Children": [], + "Destination": { + "PageNumber": 34, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Class1.Issue8665", + "Children": [], + "Destination": { + "PageNumber": 35, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Class1.Issue8696Attribute", + "Children": [], + "Destination": { + "PageNumber": 38, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Class1.Issue8948", + "Children": [], + "Destination": { + "PageNumber": 40, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Class1.Issue9260", + "Children": [], + "Destination": { + "PageNumber": 41, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Class1.Test", + "Children": [], + "Destination": { + "PageNumber": 42, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "IInheritdoc", + "Children": [], + "Destination": { + "PageNumber": 43, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Inheritdoc", + "Children": [], + "Destination": { + "PageNumber": 44, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Inheritdoc.Issue6366", + "Children": [], + "Destination": { + "PageNumber": 46, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Inheritdoc.Issue6366.Class1", + "Children": [], + "Destination": { + "PageNumber": 47, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Inheritdoc.Issue6366.Class2", + "Children": [], + "Destination": { + "PageNumber": 49, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Inheritdoc.Issue7035", + "Children": [], + "Destination": { + "PageNumber": 50, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Inheritdoc.Issue7484", + "Children": [], + "Destination": { + "PageNumber": 51, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Inheritdoc.Issue8101", + "Children": [], + "Destination": { + "PageNumber": 53, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Inheritdoc.Issue8129", + "Children": [], + "Destination": { + "PageNumber": 55, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "BuildFromVBSourceCode", + "Children": [ + { + "Title": "BaseClass1", + "Children": [], + "Destination": { + "PageNumber": 57, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Class1", + "Children": [], + "Destination": { + "PageNumber": 58, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 56, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "CatLibrary", + "Children": [ + { + "Title": "Core", + "Children": [ + { + "Title": "ContainersRefType", + "Children": [], + "Destination": { + "PageNumber": 63, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "ContainersRefType.ColorType", + "Children": [], + "Destination": { + "PageNumber": 65, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "ContainersRefType.ContainersRefTypeChild", + "Children": [], + "Destination": { + "PageNumber": 66, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "ContainersRefType.ContainersRefTypeChildInterface", + "Children": [], + "Destination": { + "PageNumber": 67, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "ContainersRefType.ContainersRefTypeDelegate", + "Children": [], + "Destination": { + "PageNumber": 68, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "ExplicitLayoutClass", + "Children": [], + "Destination": { + "PageNumber": 69, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Issue231", + "Children": [], + "Destination": { + "PageNumber": 70, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "CatException", + "Children": [], + "Destination": { + "PageNumber": 71, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Cat", + "Children": [], + "Destination": { + "PageNumber": 72, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Complex", + "Children": [], + "Destination": { + "PageNumber": 81, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "FakeDelegate", + "Children": [], + "Destination": { + "PageNumber": 82, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "IAnimal", + "Children": [], + "Destination": { + "PageNumber": 83, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "ICat", + "Children": [], + "Destination": { + "PageNumber": 86, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "ICatExtension", + "Children": [], + "Destination": { + "PageNumber": 87, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "MRefDelegate", + "Children": [], + "Destination": { + "PageNumber": 89, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "MRefNormalDelegate", + "Children": [], + "Destination": { + "PageNumber": 90, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Tom", + "Children": [], + "Destination": { + "PageNumber": 91, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "TomFromBaseClass", + "Children": [], + "Destination": { + "PageNumber": 93, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "MRef.Demo.Enumeration", + "Children": [ + { + "Title": "ColorType", + "Children": [], + "Destination": { + "PageNumber": 95, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 94, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 19, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "REST API", + "Children": [ + { + "Title": "Pet Store API", + "Children": [], + "Destination": { + "PageNumber": 96, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Contacts API", + "Children": [], + "Destination": { + "PageNumber": 111, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 96, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] +} \ No newline at end of file diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/toc.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/toc.verified.json new file mode 100644 index 00000000000..71bca292be5 --- /dev/null +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/pdf/toc.verified.json @@ -0,0 +1,402 @@ +{ + "order": 200, + "items": [ + { + "name": "Articles", + "includedFrom": "~/articles/toc.yml", + "items": [ + { + "name": "Getting Started", + "href": "../articles/docfx_getting_started.html", + "topicHref": "../articles/docfx_getting_started.html" + }, + { + "name": "Engineering Docs", + "items": [ + { + "name": "Section 1" + }, + { + "name": "Engineering Guidelines", + "href": "../articles/engineering_guidelines.html", + "topicHref": "../articles/engineering_guidelines.html" + }, + { + "name": "CSharp Coding Standards", + "href": "../articles/csharp_coding_standards.html", + "topicHref": "../articles/csharp_coding_standards.html" + } + ], + "expanded": true + }, + { + "name": "Markdown", + "href": "../articles/markdown.html", + "topicHref": "../articles/markdown.html" + }, + { + "name": "Microsoft Docs", + "href": "https://docs.microsoft.com/en-us/", + "topicHref": "https://docs.microsoft.com/en-us/" + } + ] + }, + { + "name": "API Documentation", + "includedFrom": "~/obj/api/toc.yml", + "items": [ + { + "name": "BuildFromAssembly", + "href": "../api/BuildFromAssembly.html", + "topicHref": "../api/BuildFromAssembly.html", + "topicUid": "BuildFromAssembly", + "items": [ + { + "name": "Class1", + "href": "../api/BuildFromAssembly.Class1.html", + "topicHref": "../api/BuildFromAssembly.Class1.html", + "topicUid": "BuildFromAssembly.Class1" + } + ] + }, + { + "name": "BuildFromCSharpSourceCode", + "href": "../api/BuildFromCSharpSourceCode.html", + "topicHref": "../api/BuildFromCSharpSourceCode.html", + "topicUid": "BuildFromCSharpSourceCode", + "items": [ + { + "name": "CSharp", + "href": "../api/BuildFromCSharpSourceCode.CSharp.html", + "topicHref": "../api/BuildFromCSharpSourceCode.CSharp.html", + "topicUid": "BuildFromCSharpSourceCode.CSharp" + } + ] + }, + { + "name": "BuildFromProject", + "href": "../api/BuildFromProject.html", + "topicHref": "../api/BuildFromProject.html", + "topicUid": "BuildFromProject", + "items": [ + { + "name": "Issue8540", + "href": "../api/BuildFromProject.Issue8540.html", + "topicHref": "../api/BuildFromProject.Issue8540.html", + "topicUid": "BuildFromProject.Issue8540", + "items": [ + { + "name": "A", + "href": "../api/BuildFromProject.Issue8540.A.html", + "topicHref": "../api/BuildFromProject.Issue8540.A.html", + "topicUid": "BuildFromProject.Issue8540.A", + "items": [ + { + "name": "A", + "href": "../api/BuildFromProject.Issue8540.A.A.html", + "topicHref": "../api/BuildFromProject.Issue8540.A.A.html", + "topicUid": "BuildFromProject.Issue8540.A.A" + } + ] + }, + { + "name": "B", + "href": "../api/BuildFromProject.Issue8540.B.html", + "topicHref": "../api/BuildFromProject.Issue8540.B.html", + "topicUid": "BuildFromProject.Issue8540.B", + "items": [ + { + "name": "B", + "href": "../api/BuildFromProject.Issue8540.B.B.html", + "topicHref": "../api/BuildFromProject.Issue8540.B.B.html", + "topicUid": "BuildFromProject.Issue8540.B.B" + } + ] + } + ] + }, + { + "name": "Class1", + "href": "../api/BuildFromProject.Class1.html", + "topicHref": "../api/BuildFromProject.Class1.html", + "topicUid": "BuildFromProject.Class1" + }, + { + "name": "Class1.IIssue8948", + "href": "../api/BuildFromProject.Class1.IIssue8948.html", + "topicHref": "../api/BuildFromProject.Class1.IIssue8948.html", + "topicUid": "BuildFromProject.Class1.IIssue8948" + }, + { + "name": "Class1.Issue8665", + "href": "../api/BuildFromProject.Class1.Issue8665.html", + "topicHref": "../api/BuildFromProject.Class1.Issue8665.html", + "topicUid": "BuildFromProject.Class1.Issue8665" + }, + { + "name": "Class1.Issue8696Attribute", + "href": "../api/BuildFromProject.Class1.Issue8696Attribute.html", + "topicHref": "../api/BuildFromProject.Class1.Issue8696Attribute.html", + "topicUid": "BuildFromProject.Class1.Issue8696Attribute" + }, + { + "name": "Class1.Issue8948", + "href": "../api/BuildFromProject.Class1.Issue8948.html", + "topicHref": "../api/BuildFromProject.Class1.Issue8948.html", + "topicUid": "BuildFromProject.Class1.Issue8948" + }, + { + "name": "Class1.Issue9260", + "href": "../api/BuildFromProject.Class1.Issue9260.html", + "topicHref": "../api/BuildFromProject.Class1.Issue9260.html", + "topicUid": "BuildFromProject.Class1.Issue9260" + }, + { + "name": "Class1.Test", + "href": "../api/BuildFromProject.Class1.Test-1.html", + "topicHref": "../api/BuildFromProject.Class1.Test-1.html", + "topicUid": "BuildFromProject.Class1.Test`1", + "name.vb": "Class1.Test(Of T)" + }, + { + "name": "IInheritdoc", + "href": "../api/BuildFromProject.IInheritdoc.html", + "topicHref": "../api/BuildFromProject.IInheritdoc.html", + "topicUid": "BuildFromProject.IInheritdoc" + }, + { + "name": "Inheritdoc", + "href": "../api/BuildFromProject.Inheritdoc.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.html", + "topicUid": "BuildFromProject.Inheritdoc" + }, + { + "name": "Inheritdoc.Issue6366", + "href": "../api/BuildFromProject.Inheritdoc.Issue6366.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue6366.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue6366" + }, + { + "name": "Inheritdoc.Issue6366.Class1", + "href": "../api/BuildFromProject.Inheritdoc.Issue6366.Class1-1.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue6366.Class1-1.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue6366.Class1`1", + "name.vb": "Inheritdoc.Issue6366.Class1(Of T)" + }, + { + "name": "Inheritdoc.Issue6366.Class2", + "href": "../api/BuildFromProject.Inheritdoc.Issue6366.Class2.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue6366.Class2.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue6366.Class2" + }, + { + "name": "Inheritdoc.Issue7035", + "href": "../api/BuildFromProject.Inheritdoc.Issue7035.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue7035.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue7035" + }, + { + "name": "Inheritdoc.Issue7484", + "href": "../api/BuildFromProject.Inheritdoc.Issue7484.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue7484.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue7484" + }, + { + "name": "Inheritdoc.Issue8101", + "href": "../api/BuildFromProject.Inheritdoc.Issue8101.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue8101.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue8101" + }, + { + "name": "Inheritdoc.Issue8129", + "href": "../api/BuildFromProject.Inheritdoc.Issue8129.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue8129.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue8129" + } + ] + }, + { + "name": "BuildFromVBSourceCode", + "href": "../api/BuildFromVBSourceCode.html", + "topicHref": "../api/BuildFromVBSourceCode.html", + "topicUid": "BuildFromVBSourceCode", + "items": [ + { + "name": "BaseClass1", + "href": "../api/BuildFromVBSourceCode.BaseClass1.html", + "topicHref": "../api/BuildFromVBSourceCode.BaseClass1.html", + "topicUid": "BuildFromVBSourceCode.BaseClass1" + }, + { + "name": "Class1", + "href": "../api/BuildFromVBSourceCode.Class1.html", + "topicHref": "../api/BuildFromVBSourceCode.Class1.html", + "topicUid": "BuildFromVBSourceCode.Class1" + } + ] + }, + { + "name": "CatLibrary", + "href": "../api/CatLibrary.html", + "topicHref": "../api/CatLibrary.html", + "topicUid": "CatLibrary", + "items": [ + { + "name": "Core", + "href": "../api/CatLibrary.Core.html", + "topicHref": "../api/CatLibrary.Core.html", + "topicUid": "CatLibrary.Core", + "items": [ + { + "name": "ContainersRefType", + "href": "../api/CatLibrary.Core.ContainersRefType.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.html", + "topicUid": "CatLibrary.Core.ContainersRefType" + }, + { + "name": "ContainersRefType.ColorType", + "href": "../api/CatLibrary.Core.ContainersRefType.ColorType.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.ColorType.html", + "topicUid": "CatLibrary.Core.ContainersRefType.ColorType" + }, + { + "name": "ContainersRefType.ContainersRefTypeChild", + "href": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html", + "topicUid": "CatLibrary.Core.ContainersRefType.ContainersRefTypeChild" + }, + { + "name": "ContainersRefType.ContainersRefTypeChildInterface", + "href": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html", + "topicUid": "CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface" + }, + { + "name": "ContainersRefType.ContainersRefTypeDelegate", + "href": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html", + "topicUid": "CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate" + }, + { + "name": "ExplicitLayoutClass", + "href": "../api/CatLibrary.Core.ExplicitLayoutClass.html", + "topicHref": "../api/CatLibrary.Core.ExplicitLayoutClass.html", + "topicUid": "CatLibrary.Core.ExplicitLayoutClass" + }, + { + "name": "Issue231", + "href": "../api/CatLibrary.Core.Issue231.html", + "topicHref": "../api/CatLibrary.Core.Issue231.html", + "topicUid": "CatLibrary.Core.Issue231" + } + ] + }, + { + "name": "CatException", + "href": "../api/CatLibrary.CatException-1.html", + "topicHref": "../api/CatLibrary.CatException-1.html", + "topicUid": "CatLibrary.CatException`1", + "name.vb": "CatException(Of T)" + }, + { + "name": "Cat", + "href": "../api/CatLibrary.Cat-2.html", + "topicHref": "../api/CatLibrary.Cat-2.html", + "topicUid": "CatLibrary.Cat`2", + "name.vb": "Cat(Of T, K)" + }, + { + "name": "Complex", + "href": "../api/CatLibrary.Complex-2.html", + "topicHref": "../api/CatLibrary.Complex-2.html", + "topicUid": "CatLibrary.Complex`2", + "name.vb": "Complex(Of T, J)" + }, + { + "name": "FakeDelegate", + "href": "../api/CatLibrary.FakeDelegate-1.html", + "topicHref": "../api/CatLibrary.FakeDelegate-1.html", + "topicUid": "CatLibrary.FakeDelegate`1", + "name.vb": "FakeDelegate(Of T)" + }, + { + "name": "IAnimal", + "href": "../api/CatLibrary.IAnimal.html", + "topicHref": "../api/CatLibrary.IAnimal.html", + "topicUid": "CatLibrary.IAnimal" + }, + { + "name": "ICat", + "href": "../api/CatLibrary.ICat.html", + "topicHref": "../api/CatLibrary.ICat.html", + "topicUid": "CatLibrary.ICat" + }, + { + "name": "ICatExtension", + "href": "../api/CatLibrary.ICatExtension.html", + "topicHref": "../api/CatLibrary.ICatExtension.html", + "topicUid": "CatLibrary.ICatExtension" + }, + { + "name": "MRefDelegate", + "href": "../api/CatLibrary.MRefDelegate-3.html", + "topicHref": "../api/CatLibrary.MRefDelegate-3.html", + "topicUid": "CatLibrary.MRefDelegate`3", + "name.vb": "MRefDelegate(Of K, T, L)" + }, + { + "name": "MRefNormalDelegate", + "href": "../api/CatLibrary.MRefNormalDelegate.html", + "topicHref": "../api/CatLibrary.MRefNormalDelegate.html", + "topicUid": "CatLibrary.MRefNormalDelegate" + }, + { + "name": "Tom", + "href": "../api/CatLibrary.Tom.html", + "topicHref": "../api/CatLibrary.Tom.html", + "topicUid": "CatLibrary.Tom" + }, + { + "name": "TomFromBaseClass", + "href": "../api/CatLibrary.TomFromBaseClass.html", + "topicHref": "../api/CatLibrary.TomFromBaseClass.html", + "topicUid": "CatLibrary.TomFromBaseClass" + } + ] + }, + { + "name": "MRef.Demo.Enumeration", + "href": "../api/MRef.Demo.Enumeration.html", + "topicHref": "../api/MRef.Demo.Enumeration.html", + "topicUid": "MRef.Demo.Enumeration", + "items": [ + { + "name": "ColorType", + "href": "../api/MRef.Demo.Enumeration.ColorType.html", + "topicHref": "../api/MRef.Demo.Enumeration.ColorType.html", + "topicUid": "MRef.Demo.Enumeration.ColorType" + } + ] + } + ] + }, + { + "name": "REST API", + "includedFrom": "~/restapi/toc.md", + "items": [ + { + "name": "Pet Store API", + "href": "../restapi/petstore.html", + "topicHref": "../restapi/petstore.html" + }, + { + "name": "Contacts API", + "href": "../restapi/contacts.html", + "topicHref": "../restapi/contacts.html" + } + ] + } + ], + "pdf": true, + "pdfTocPage": true +} \ No newline at end of file diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/restapi/toc.html.view.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/restapi/toc.html.view.verified.json index f02bb78b044..8b2b3523dc8 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/restapi/toc.html.view.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/restapi/toc.html.view.verified.json @@ -1,4 +1,5 @@ { + "order": 100.0, "items": [ { "name": "Pet Store API", diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/restapi/toc.json.view.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/restapi/toc.json.view.verified.json index 9c47aefa347..80e0777fb60 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/restapi/toc.json.view.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/restapi/toc.json.view.verified.json @@ -1,3 +1,3 @@ { - "content": "{\"items\":[{\"name\":\"Pet Store API\",\"href\":\"petstore.html\",\"topicHref\":\"petstore.html\"},{\"name\":\"Contacts API\",\"href\":\"contacts.html\",\"topicHref\":\"contacts.html\"}],\"pdf\":true,\"pdfTocPage\":true}" + "content": "{\"order\":100,\"items\":[{\"name\":\"Pet Store API\",\"href\":\"petstore.html\",\"topicHref\":\"petstore.html\"},{\"name\":\"Contacts API\",\"href\":\"contacts.html\",\"topicHref\":\"contacts.html\"}],\"pdf\":true,\"pdfTocPage\":true}" } \ No newline at end of file diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/restapi/toc.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/restapi/toc.verified.json index da9787103ef..46d9c6eec23 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/restapi/toc.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Linux/restapi/toc.verified.json @@ -1,4 +1,5 @@ { + "order": 100, "items": [ { "name": "Pet Store API", diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/api/toc.html.view.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/api/toc.html.view.verified.json index c66ec095105..40a7c08bfd0 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/api/toc.html.view.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/api/toc.html.view.verified.json @@ -1,4 +1,5 @@ { + "order": 100.0, "items": [ { "name": "BuildFromAssembly", diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/api/toc.json.view.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/api/toc.json.view.verified.json index ac6b3b3ac31..0933e9ed200 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/api/toc.json.view.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/api/toc.json.view.verified.json @@ -1,3 +1,3 @@ { - "content": "{\"items\":[{\"name\":\"BuildFromAssembly\",\"href\":\"BuildFromAssembly.html\",\"topicHref\":\"BuildFromAssembly.html\",\"topicUid\":\"BuildFromAssembly\",\"items\":[{\"name\":\"Class1\",\"href\":\"BuildFromAssembly.Class1.html\",\"topicHref\":\"BuildFromAssembly.Class1.html\",\"topicUid\":\"BuildFromAssembly.Class1\"}]},{\"name\":\"BuildFromCSharpSourceCode\",\"href\":\"BuildFromCSharpSourceCode.html\",\"topicHref\":\"BuildFromCSharpSourceCode.html\",\"topicUid\":\"BuildFromCSharpSourceCode\",\"items\":[{\"name\":\"CSharp\",\"href\":\"BuildFromCSharpSourceCode.CSharp.html\",\"topicHref\":\"BuildFromCSharpSourceCode.CSharp.html\",\"topicUid\":\"BuildFromCSharpSourceCode.CSharp\"}]},{\"name\":\"BuildFromProject\",\"href\":\"BuildFromProject.html\",\"topicHref\":\"BuildFromProject.html\",\"topicUid\":\"BuildFromProject\",\"items\":[{\"name\":\"Issue8540\",\"href\":\"BuildFromProject.Issue8540.html\",\"topicHref\":\"BuildFromProject.Issue8540.html\",\"topicUid\":\"BuildFromProject.Issue8540\",\"items\":[{\"name\":\"A\",\"href\":\"BuildFromProject.Issue8540.A.html\",\"topicHref\":\"BuildFromProject.Issue8540.A.html\",\"topicUid\":\"BuildFromProject.Issue8540.A\",\"items\":[{\"name\":\"A\",\"href\":\"BuildFromProject.Issue8540.A.A.html\",\"topicHref\":\"BuildFromProject.Issue8540.A.A.html\",\"topicUid\":\"BuildFromProject.Issue8540.A.A\"}]},{\"name\":\"B\",\"href\":\"BuildFromProject.Issue8540.B.html\",\"topicHref\":\"BuildFromProject.Issue8540.B.html\",\"topicUid\":\"BuildFromProject.Issue8540.B\",\"items\":[{\"name\":\"B\",\"href\":\"BuildFromProject.Issue8540.B.B.html\",\"topicHref\":\"BuildFromProject.Issue8540.B.B.html\",\"topicUid\":\"BuildFromProject.Issue8540.B.B\"}]}]},{\"name\":\"Class1\",\"href\":\"BuildFromProject.Class1.html\",\"topicHref\":\"BuildFromProject.Class1.html\",\"topicUid\":\"BuildFromProject.Class1\"},{\"name\":\"Class1.IIssue8948\",\"href\":\"BuildFromProject.Class1.IIssue8948.html\",\"topicHref\":\"BuildFromProject.Class1.IIssue8948.html\",\"topicUid\":\"BuildFromProject.Class1.IIssue8948\"},{\"name\":\"Class1.Issue8665\",\"href\":\"BuildFromProject.Class1.Issue8665.html\",\"topicHref\":\"BuildFromProject.Class1.Issue8665.html\",\"topicUid\":\"BuildFromProject.Class1.Issue8665\"},{\"name\":\"Class1.Issue8696Attribute\",\"href\":\"BuildFromProject.Class1.Issue8696Attribute.html\",\"topicHref\":\"BuildFromProject.Class1.Issue8696Attribute.html\",\"topicUid\":\"BuildFromProject.Class1.Issue8696Attribute\"},{\"name\":\"Class1.Issue8948\",\"href\":\"BuildFromProject.Class1.Issue8948.html\",\"topicHref\":\"BuildFromProject.Class1.Issue8948.html\",\"topicUid\":\"BuildFromProject.Class1.Issue8948\"},{\"name\":\"Class1.Issue9260\",\"href\":\"BuildFromProject.Class1.Issue9260.html\",\"topicHref\":\"BuildFromProject.Class1.Issue9260.html\",\"topicUid\":\"BuildFromProject.Class1.Issue9260\"},{\"name\":\"Class1.Test\",\"href\":\"BuildFromProject.Class1.Test-1.html\",\"topicHref\":\"BuildFromProject.Class1.Test-1.html\",\"topicUid\":\"BuildFromProject.Class1.Test`1\",\"name.vb\":\"Class1.Test(Of T)\"},{\"name\":\"IInheritdoc\",\"href\":\"BuildFromProject.IInheritdoc.html\",\"topicHref\":\"BuildFromProject.IInheritdoc.html\",\"topicUid\":\"BuildFromProject.IInheritdoc\"},{\"name\":\"Inheritdoc\",\"href\":\"BuildFromProject.Inheritdoc.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.html\",\"topicUid\":\"BuildFromProject.Inheritdoc\"},{\"name\":\"Inheritdoc.Issue6366\",\"href\":\"BuildFromProject.Inheritdoc.Issue6366.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue6366.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue6366\"},{\"name\":\"Inheritdoc.Issue6366.Class1\",\"href\":\"BuildFromProject.Inheritdoc.Issue6366.Class1-1.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue6366.Class1-1.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue6366.Class1`1\",\"name.vb\":\"Inheritdoc.Issue6366.Class1(Of T)\"},{\"name\":\"Inheritdoc.Issue6366.Class2\",\"href\":\"BuildFromProject.Inheritdoc.Issue6366.Class2.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue6366.Class2.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue6366.Class2\"},{\"name\":\"Inheritdoc.Issue7035\",\"href\":\"BuildFromProject.Inheritdoc.Issue7035.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue7035.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue7035\"},{\"name\":\"Inheritdoc.Issue7484\",\"href\":\"BuildFromProject.Inheritdoc.Issue7484.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue7484.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue7484\"},{\"name\":\"Inheritdoc.Issue8101\",\"href\":\"BuildFromProject.Inheritdoc.Issue8101.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue8101.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue8101\"},{\"name\":\"Inheritdoc.Issue8129\",\"href\":\"BuildFromProject.Inheritdoc.Issue8129.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue8129.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue8129\"}]},{\"name\":\"BuildFromVBSourceCode\",\"href\":\"BuildFromVBSourceCode.html\",\"topicHref\":\"BuildFromVBSourceCode.html\",\"topicUid\":\"BuildFromVBSourceCode\",\"items\":[{\"name\":\"BaseClass1\",\"href\":\"BuildFromVBSourceCode.BaseClass1.html\",\"topicHref\":\"BuildFromVBSourceCode.BaseClass1.html\",\"topicUid\":\"BuildFromVBSourceCode.BaseClass1\"},{\"name\":\"Class1\",\"href\":\"BuildFromVBSourceCode.Class1.html\",\"topicHref\":\"BuildFromVBSourceCode.Class1.html\",\"topicUid\":\"BuildFromVBSourceCode.Class1\"}]},{\"name\":\"CatLibrary\",\"href\":\"CatLibrary.html\",\"topicHref\":\"CatLibrary.html\",\"topicUid\":\"CatLibrary\",\"items\":[{\"name\":\"Core\",\"href\":\"CatLibrary.Core.html\",\"topicHref\":\"CatLibrary.Core.html\",\"topicUid\":\"CatLibrary.Core\",\"items\":[{\"name\":\"ContainersRefType\",\"href\":\"CatLibrary.Core.ContainersRefType.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType\"},{\"name\":\"ContainersRefType.ColorType\",\"href\":\"CatLibrary.Core.ContainersRefType.ColorType.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.ColorType.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ColorType\"},{\"name\":\"ContainersRefType.ContainersRefTypeChild\",\"href\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChild\"},{\"name\":\"ContainersRefType.ContainersRefTypeChildInterface\",\"href\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface\"},{\"name\":\"ContainersRefType.ContainersRefTypeDelegate\",\"href\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate\"},{\"name\":\"ExplicitLayoutClass\",\"href\":\"CatLibrary.Core.ExplicitLayoutClass.html\",\"topicHref\":\"CatLibrary.Core.ExplicitLayoutClass.html\",\"topicUid\":\"CatLibrary.Core.ExplicitLayoutClass\"},{\"name\":\"Issue231\",\"href\":\"CatLibrary.Core.Issue231.html\",\"topicHref\":\"CatLibrary.Core.Issue231.html\",\"topicUid\":\"CatLibrary.Core.Issue231\"}]},{\"name\":\"CatException\",\"href\":\"CatLibrary.CatException-1.html\",\"topicHref\":\"CatLibrary.CatException-1.html\",\"topicUid\":\"CatLibrary.CatException`1\",\"name.vb\":\"CatException(Of T)\"},{\"name\":\"Cat\",\"href\":\"CatLibrary.Cat-2.html\",\"topicHref\":\"CatLibrary.Cat-2.html\",\"topicUid\":\"CatLibrary.Cat`2\",\"name.vb\":\"Cat(Of T, K)\"},{\"name\":\"Complex\",\"href\":\"CatLibrary.Complex-2.html\",\"topicHref\":\"CatLibrary.Complex-2.html\",\"topicUid\":\"CatLibrary.Complex`2\",\"name.vb\":\"Complex(Of T, J)\"},{\"name\":\"FakeDelegate\",\"href\":\"CatLibrary.FakeDelegate-1.html\",\"topicHref\":\"CatLibrary.FakeDelegate-1.html\",\"topicUid\":\"CatLibrary.FakeDelegate`1\",\"name.vb\":\"FakeDelegate(Of T)\"},{\"name\":\"IAnimal\",\"href\":\"CatLibrary.IAnimal.html\",\"topicHref\":\"CatLibrary.IAnimal.html\",\"topicUid\":\"CatLibrary.IAnimal\"},{\"name\":\"ICat\",\"href\":\"CatLibrary.ICat.html\",\"topicHref\":\"CatLibrary.ICat.html\",\"topicUid\":\"CatLibrary.ICat\"},{\"name\":\"ICatExtension\",\"href\":\"CatLibrary.ICatExtension.html\",\"topicHref\":\"CatLibrary.ICatExtension.html\",\"topicUid\":\"CatLibrary.ICatExtension\"},{\"name\":\"MRefDelegate\",\"href\":\"CatLibrary.MRefDelegate-3.html\",\"topicHref\":\"CatLibrary.MRefDelegate-3.html\",\"topicUid\":\"CatLibrary.MRefDelegate`3\",\"name.vb\":\"MRefDelegate(Of K, T, L)\"},{\"name\":\"MRefNormalDelegate\",\"href\":\"CatLibrary.MRefNormalDelegate.html\",\"topicHref\":\"CatLibrary.MRefNormalDelegate.html\",\"topicUid\":\"CatLibrary.MRefNormalDelegate\"},{\"name\":\"Tom\",\"href\":\"CatLibrary.Tom.html\",\"topicHref\":\"CatLibrary.Tom.html\",\"topicUid\":\"CatLibrary.Tom\"},{\"name\":\"TomFromBaseClass\",\"href\":\"CatLibrary.TomFromBaseClass.html\",\"topicHref\":\"CatLibrary.TomFromBaseClass.html\",\"topicUid\":\"CatLibrary.TomFromBaseClass\"}]},{\"name\":\"MRef.Demo.Enumeration\",\"href\":\"MRef.Demo.Enumeration.html\",\"topicHref\":\"MRef.Demo.Enumeration.html\",\"topicUid\":\"MRef.Demo.Enumeration\",\"items\":[{\"name\":\"ColorType\",\"href\":\"MRef.Demo.Enumeration.ColorType.html\",\"topicHref\":\"MRef.Demo.Enumeration.ColorType.html\",\"topicUid\":\"MRef.Demo.Enumeration.ColorType\"}]}],\"memberLayout\":\"SamePage\",\"pdf\":true,\"pdfTocPage\":true}" + "content": "{\"order\":100,\"items\":[{\"name\":\"BuildFromAssembly\",\"href\":\"BuildFromAssembly.html\",\"topicHref\":\"BuildFromAssembly.html\",\"topicUid\":\"BuildFromAssembly\",\"items\":[{\"name\":\"Class1\",\"href\":\"BuildFromAssembly.Class1.html\",\"topicHref\":\"BuildFromAssembly.Class1.html\",\"topicUid\":\"BuildFromAssembly.Class1\"}]},{\"name\":\"BuildFromCSharpSourceCode\",\"href\":\"BuildFromCSharpSourceCode.html\",\"topicHref\":\"BuildFromCSharpSourceCode.html\",\"topicUid\":\"BuildFromCSharpSourceCode\",\"items\":[{\"name\":\"CSharp\",\"href\":\"BuildFromCSharpSourceCode.CSharp.html\",\"topicHref\":\"BuildFromCSharpSourceCode.CSharp.html\",\"topicUid\":\"BuildFromCSharpSourceCode.CSharp\"}]},{\"name\":\"BuildFromProject\",\"href\":\"BuildFromProject.html\",\"topicHref\":\"BuildFromProject.html\",\"topicUid\":\"BuildFromProject\",\"items\":[{\"name\":\"Issue8540\",\"href\":\"BuildFromProject.Issue8540.html\",\"topicHref\":\"BuildFromProject.Issue8540.html\",\"topicUid\":\"BuildFromProject.Issue8540\",\"items\":[{\"name\":\"A\",\"href\":\"BuildFromProject.Issue8540.A.html\",\"topicHref\":\"BuildFromProject.Issue8540.A.html\",\"topicUid\":\"BuildFromProject.Issue8540.A\",\"items\":[{\"name\":\"A\",\"href\":\"BuildFromProject.Issue8540.A.A.html\",\"topicHref\":\"BuildFromProject.Issue8540.A.A.html\",\"topicUid\":\"BuildFromProject.Issue8540.A.A\"}]},{\"name\":\"B\",\"href\":\"BuildFromProject.Issue8540.B.html\",\"topicHref\":\"BuildFromProject.Issue8540.B.html\",\"topicUid\":\"BuildFromProject.Issue8540.B\",\"items\":[{\"name\":\"B\",\"href\":\"BuildFromProject.Issue8540.B.B.html\",\"topicHref\":\"BuildFromProject.Issue8540.B.B.html\",\"topicUid\":\"BuildFromProject.Issue8540.B.B\"}]}]},{\"name\":\"Class1\",\"href\":\"BuildFromProject.Class1.html\",\"topicHref\":\"BuildFromProject.Class1.html\",\"topicUid\":\"BuildFromProject.Class1\"},{\"name\":\"Class1.IIssue8948\",\"href\":\"BuildFromProject.Class1.IIssue8948.html\",\"topicHref\":\"BuildFromProject.Class1.IIssue8948.html\",\"topicUid\":\"BuildFromProject.Class1.IIssue8948\"},{\"name\":\"Class1.Issue8665\",\"href\":\"BuildFromProject.Class1.Issue8665.html\",\"topicHref\":\"BuildFromProject.Class1.Issue8665.html\",\"topicUid\":\"BuildFromProject.Class1.Issue8665\"},{\"name\":\"Class1.Issue8696Attribute\",\"href\":\"BuildFromProject.Class1.Issue8696Attribute.html\",\"topicHref\":\"BuildFromProject.Class1.Issue8696Attribute.html\",\"topicUid\":\"BuildFromProject.Class1.Issue8696Attribute\"},{\"name\":\"Class1.Issue8948\",\"href\":\"BuildFromProject.Class1.Issue8948.html\",\"topicHref\":\"BuildFromProject.Class1.Issue8948.html\",\"topicUid\":\"BuildFromProject.Class1.Issue8948\"},{\"name\":\"Class1.Issue9260\",\"href\":\"BuildFromProject.Class1.Issue9260.html\",\"topicHref\":\"BuildFromProject.Class1.Issue9260.html\",\"topicUid\":\"BuildFromProject.Class1.Issue9260\"},{\"name\":\"Class1.Test\",\"href\":\"BuildFromProject.Class1.Test-1.html\",\"topicHref\":\"BuildFromProject.Class1.Test-1.html\",\"topicUid\":\"BuildFromProject.Class1.Test`1\",\"name.vb\":\"Class1.Test(Of T)\"},{\"name\":\"IInheritdoc\",\"href\":\"BuildFromProject.IInheritdoc.html\",\"topicHref\":\"BuildFromProject.IInheritdoc.html\",\"topicUid\":\"BuildFromProject.IInheritdoc\"},{\"name\":\"Inheritdoc\",\"href\":\"BuildFromProject.Inheritdoc.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.html\",\"topicUid\":\"BuildFromProject.Inheritdoc\"},{\"name\":\"Inheritdoc.Issue6366\",\"href\":\"BuildFromProject.Inheritdoc.Issue6366.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue6366.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue6366\"},{\"name\":\"Inheritdoc.Issue6366.Class1\",\"href\":\"BuildFromProject.Inheritdoc.Issue6366.Class1-1.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue6366.Class1-1.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue6366.Class1`1\",\"name.vb\":\"Inheritdoc.Issue6366.Class1(Of T)\"},{\"name\":\"Inheritdoc.Issue6366.Class2\",\"href\":\"BuildFromProject.Inheritdoc.Issue6366.Class2.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue6366.Class2.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue6366.Class2\"},{\"name\":\"Inheritdoc.Issue7035\",\"href\":\"BuildFromProject.Inheritdoc.Issue7035.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue7035.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue7035\"},{\"name\":\"Inheritdoc.Issue7484\",\"href\":\"BuildFromProject.Inheritdoc.Issue7484.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue7484.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue7484\"},{\"name\":\"Inheritdoc.Issue8101\",\"href\":\"BuildFromProject.Inheritdoc.Issue8101.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue8101.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue8101\"},{\"name\":\"Inheritdoc.Issue8129\",\"href\":\"BuildFromProject.Inheritdoc.Issue8129.html\",\"topicHref\":\"BuildFromProject.Inheritdoc.Issue8129.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue8129\"}]},{\"name\":\"BuildFromVBSourceCode\",\"href\":\"BuildFromVBSourceCode.html\",\"topicHref\":\"BuildFromVBSourceCode.html\",\"topicUid\":\"BuildFromVBSourceCode\",\"items\":[{\"name\":\"BaseClass1\",\"href\":\"BuildFromVBSourceCode.BaseClass1.html\",\"topicHref\":\"BuildFromVBSourceCode.BaseClass1.html\",\"topicUid\":\"BuildFromVBSourceCode.BaseClass1\"},{\"name\":\"Class1\",\"href\":\"BuildFromVBSourceCode.Class1.html\",\"topicHref\":\"BuildFromVBSourceCode.Class1.html\",\"topicUid\":\"BuildFromVBSourceCode.Class1\"}]},{\"name\":\"CatLibrary\",\"href\":\"CatLibrary.html\",\"topicHref\":\"CatLibrary.html\",\"topicUid\":\"CatLibrary\",\"items\":[{\"name\":\"Core\",\"href\":\"CatLibrary.Core.html\",\"topicHref\":\"CatLibrary.Core.html\",\"topicUid\":\"CatLibrary.Core\",\"items\":[{\"name\":\"ContainersRefType\",\"href\":\"CatLibrary.Core.ContainersRefType.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType\"},{\"name\":\"ContainersRefType.ColorType\",\"href\":\"CatLibrary.Core.ContainersRefType.ColorType.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.ColorType.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ColorType\"},{\"name\":\"ContainersRefType.ContainersRefTypeChild\",\"href\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChild\"},{\"name\":\"ContainersRefType.ContainersRefTypeChildInterface\",\"href\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface\"},{\"name\":\"ContainersRefType.ContainersRefTypeDelegate\",\"href\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html\",\"topicHref\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate\"},{\"name\":\"ExplicitLayoutClass\",\"href\":\"CatLibrary.Core.ExplicitLayoutClass.html\",\"topicHref\":\"CatLibrary.Core.ExplicitLayoutClass.html\",\"topicUid\":\"CatLibrary.Core.ExplicitLayoutClass\"},{\"name\":\"Issue231\",\"href\":\"CatLibrary.Core.Issue231.html\",\"topicHref\":\"CatLibrary.Core.Issue231.html\",\"topicUid\":\"CatLibrary.Core.Issue231\"}]},{\"name\":\"CatException\",\"href\":\"CatLibrary.CatException-1.html\",\"topicHref\":\"CatLibrary.CatException-1.html\",\"topicUid\":\"CatLibrary.CatException`1\",\"name.vb\":\"CatException(Of T)\"},{\"name\":\"Cat\",\"href\":\"CatLibrary.Cat-2.html\",\"topicHref\":\"CatLibrary.Cat-2.html\",\"topicUid\":\"CatLibrary.Cat`2\",\"name.vb\":\"Cat(Of T, K)\"},{\"name\":\"Complex\",\"href\":\"CatLibrary.Complex-2.html\",\"topicHref\":\"CatLibrary.Complex-2.html\",\"topicUid\":\"CatLibrary.Complex`2\",\"name.vb\":\"Complex(Of T, J)\"},{\"name\":\"FakeDelegate\",\"href\":\"CatLibrary.FakeDelegate-1.html\",\"topicHref\":\"CatLibrary.FakeDelegate-1.html\",\"topicUid\":\"CatLibrary.FakeDelegate`1\",\"name.vb\":\"FakeDelegate(Of T)\"},{\"name\":\"IAnimal\",\"href\":\"CatLibrary.IAnimal.html\",\"topicHref\":\"CatLibrary.IAnimal.html\",\"topicUid\":\"CatLibrary.IAnimal\"},{\"name\":\"ICat\",\"href\":\"CatLibrary.ICat.html\",\"topicHref\":\"CatLibrary.ICat.html\",\"topicUid\":\"CatLibrary.ICat\"},{\"name\":\"ICatExtension\",\"href\":\"CatLibrary.ICatExtension.html\",\"topicHref\":\"CatLibrary.ICatExtension.html\",\"topicUid\":\"CatLibrary.ICatExtension\"},{\"name\":\"MRefDelegate\",\"href\":\"CatLibrary.MRefDelegate-3.html\",\"topicHref\":\"CatLibrary.MRefDelegate-3.html\",\"topicUid\":\"CatLibrary.MRefDelegate`3\",\"name.vb\":\"MRefDelegate(Of K, T, L)\"},{\"name\":\"MRefNormalDelegate\",\"href\":\"CatLibrary.MRefNormalDelegate.html\",\"topicHref\":\"CatLibrary.MRefNormalDelegate.html\",\"topicUid\":\"CatLibrary.MRefNormalDelegate\"},{\"name\":\"Tom\",\"href\":\"CatLibrary.Tom.html\",\"topicHref\":\"CatLibrary.Tom.html\",\"topicUid\":\"CatLibrary.Tom\"},{\"name\":\"TomFromBaseClass\",\"href\":\"CatLibrary.TomFromBaseClass.html\",\"topicHref\":\"CatLibrary.TomFromBaseClass.html\",\"topicUid\":\"CatLibrary.TomFromBaseClass\"}]},{\"name\":\"MRef.Demo.Enumeration\",\"href\":\"MRef.Demo.Enumeration.html\",\"topicHref\":\"MRef.Demo.Enumeration.html\",\"topicUid\":\"MRef.Demo.Enumeration\",\"items\":[{\"name\":\"ColorType\",\"href\":\"MRef.Demo.Enumeration.ColorType.html\",\"topicHref\":\"MRef.Demo.Enumeration.ColorType.html\",\"topicUid\":\"MRef.Demo.Enumeration.ColorType\"}]}],\"memberLayout\":\"SamePage\",\"pdf\":true,\"pdfTocPage\":true}" } \ No newline at end of file diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/api/toc.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/api/toc.verified.json index 8ea3917fc03..c86b1101219 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/api/toc.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/api/toc.verified.json @@ -1,4 +1,5 @@ { + "order": 100, "items": [ { "name": "BuildFromAssembly", diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/articles/toc.html.view.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/articles/toc.html.view.verified.json index 6540f70a92d..0dbf01b010b 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/articles/toc.html.view.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/articles/toc.html.view.verified.json @@ -1,4 +1,5 @@ { + "order": 100.0, "items": [ { "name": "Getting Started", @@ -64,7 +65,7 @@ } ], "pdfFileName": "seed.pdf", - "pdfCoverPage": "pdf.html", + "pdfCoverPage": "pdf/cover.html", "_appName": "Seed", "_appTitle": "docfx seed website", "_enableSearch": true, diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/articles/toc.json.view.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/articles/toc.json.view.verified.json index a05c0dee03b..6f423d0d000 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/articles/toc.json.view.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/articles/toc.json.view.verified.json @@ -1,3 +1,3 @@ { - "content": "{\"items\":[{\"name\":\"Getting Started\",\"href\":\"docfx_getting_started.html\",\"topicHref\":\"docfx_getting_started.html\"},{\"name\":\"Engineering Docs\",\"items\":[{\"name\":\"Section 1\"},{\"name\":\"Engineering Guidelines\",\"href\":\"engineering_guidelines.html\",\"topicHref\":\"engineering_guidelines.html\"},{\"name\":\"CSharp Coding Standards\",\"href\":\"csharp_coding_standards.html\",\"topicHref\":\"csharp_coding_standards.html\"}],\"expanded\":true},{\"name\":\"Markdown\",\"href\":\"markdown.html\",\"topicHref\":\"markdown.html\"},{\"name\":\"Microsoft Docs\",\"href\":\"https://docs.microsoft.com/en-us/\",\"topicHref\":\"https://docs.microsoft.com/en-us/\"}],\"pdfFileName\":\"seed.pdf\",\"pdfCoverPage\":\"pdf.html\",\"pdf\":true,\"pdfTocPage\":true}" + "content": "{\"order\":100,\"items\":[{\"name\":\"Getting Started\",\"href\":\"docfx_getting_started.html\",\"topicHref\":\"docfx_getting_started.html\"},{\"name\":\"Engineering Docs\",\"items\":[{\"name\":\"Section 1\"},{\"name\":\"Engineering Guidelines\",\"href\":\"engineering_guidelines.html\",\"topicHref\":\"engineering_guidelines.html\"},{\"name\":\"CSharp Coding Standards\",\"href\":\"csharp_coding_standards.html\",\"topicHref\":\"csharp_coding_standards.html\"}],\"expanded\":true},{\"name\":\"Markdown\",\"href\":\"markdown.html\",\"topicHref\":\"markdown.html\"},{\"name\":\"Microsoft Docs\",\"href\":\"https://docs.microsoft.com/en-us/\",\"topicHref\":\"https://docs.microsoft.com/en-us/\"}],\"pdfFileName\":\"seed.pdf\",\"pdfCoverPage\":\"pdf/cover.html\",\"pdf\":true,\"pdfTocPage\":true}" } \ No newline at end of file diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/articles/toc.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/articles/toc.verified.json index 0c4c980c6a7..714b5c31394 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/articles/toc.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/articles/toc.verified.json @@ -1,4 +1,5 @@ { + "order": 100, "items": [ { "name": "Getting Started", @@ -36,7 +37,7 @@ } ], "pdfFileName": "seed.pdf", - "pdfCoverPage": "pdf.html", + "pdfCoverPage": "pdf/cover.html", "pdf": true, "pdfTocPage": true } \ No newline at end of file diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/index.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/index.verified.json index 3055f3014c4..4c48d5e86a1 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/index.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/index.verified.json @@ -809,8 +809,8 @@ "title": "Namespace MRef | docfx seed website", "keywords": "Namespace MRef Namespaces MRef.Demo" }, - "pdf.html": { - "href": "pdf.html", + "pdf/cover.html": { + "href": "pdf/cover.html", "title": "DOCFX PDF SAMPLE | docfx seed website", "keywords": "@media print { @page { margin: 0 !important; } body { -webkit-print-color-adjust: exact; -moz-print-color-adjust: exact; -ms-print-color-adjust: exact; print-color-adjust: exact; } } DOCFX PDF SAMPLE" }, diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf.html.view.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/cover.html.view.verified.json similarity index 82% rename from test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf.html.view.verified.json rename to test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/cover.html.view.verified.json index 0df344592b7..39f781f3411 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf.html.view.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/cover.html.view.verified.json @@ -3,17 +3,17 @@ "type": "Conceptual", "source": { "remote": { - "path": "samples/seed/pdf.md", + "path": "samples/seed/pdf/cover.md", "branch": "main", "repo": "https://github.com/dotnet/docfx" }, "startLine": 0.0, "endLine": 0.0 }, - "path": "pdf.md", + "path": "pdf/cover.md", "documentation": { "remote": { - "path": "samples/seed/pdf.md", + "path": "samples/seed/pdf/cover.md", "branch": "main", "repo": "https://github.com/dotnet/docfx" }, @@ -28,15 +28,15 @@ "rawTitle": "", "title": "DOCFX PDF SAMPLE", "wordCount": 3.0, - "_key": "pdf.md", + "_key": "pdf/cover.md", "_navKey": "~/toc.yml", "_navPath": "toc.html", - "_navRel": "toc.html", - "_path": "pdf.html", - "_rel": "", + "_navRel": "../toc.html", + "_path": "pdf/cover.html", + "_rel": "../", "_tocKey": "~/toc.yml", "_tocPath": "toc.html", - "_tocRel": "toc.html", + "_tocRel": "../toc.html", "_disableToc": true, - "docurl": "https://github.com/dotnet/docfx/blob/main/samples/seed/pdf.md/#L1" + "docurl": "https://github.com/dotnet/docfx/blob/main/samples/seed/pdf/cover.md/#L1" } \ No newline at end of file diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/toc.html.view.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/toc.html.view.verified.json new file mode 100644 index 00000000000..c21169eb848 --- /dev/null +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/toc.html.view.verified.json @@ -0,0 +1,650 @@ +{ + "order": 200.0, + "items": [ + { + "name": "Articles", + "includedFrom": "~/articles/toc.yml", + "items": [ + { + "name": "Getting Started", + "href": "../articles/docfx_getting_started.html", + "topicHref": "../articles/docfx_getting_started.html", + "tocHref": null, + "level": 3.0, + "items": [], + "leaf": true + }, + { + "name": "Engineering Docs", + "items": [ + { + "name": "Section 1", + "topicHref": null, + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Engineering Guidelines", + "href": "../articles/engineering_guidelines.html", + "topicHref": "../articles/engineering_guidelines.html", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "CSharp Coding Standards", + "href": "../articles/csharp_coding_standards.html", + "topicHref": "../articles/csharp_coding_standards.html", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + } + ], + "expanded": true, + "topicHref": null, + "tocHref": null, + "level": 3.0 + }, + { + "name": "Markdown", + "href": "../articles/markdown.html", + "topicHref": "../articles/markdown.html", + "tocHref": null, + "level": 3.0, + "items": [], + "leaf": true + }, + { + "name": "Microsoft Docs", + "href": "https://docs.microsoft.com/en-us/", + "topicHref": "https://docs.microsoft.com/en-us/", + "tocHref": null, + "level": 3.0, + "items": [], + "leaf": true + } + ], + "topicHref": null, + "tocHref": null, + "level": 2.0 + }, + { + "name": "API Documentation", + "includedFrom": "~/obj/api/toc.yml", + "items": [ + { + "name": "BuildFromAssembly", + "href": "../api/BuildFromAssembly.html", + "topicHref": "../api/BuildFromAssembly.html", + "topicUid": "BuildFromAssembly", + "items": [ + { + "name": "Class1", + "href": "../api/BuildFromAssembly.Class1.html", + "topicHref": "../api/BuildFromAssembly.Class1.html", + "topicUid": "BuildFromAssembly.Class1", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + } + ], + "tocHref": null, + "level": 3.0 + }, + { + "name": "BuildFromCSharpSourceCode", + "href": "../api/BuildFromCSharpSourceCode.html", + "topicHref": "../api/BuildFromCSharpSourceCode.html", + "topicUid": "BuildFromCSharpSourceCode", + "items": [ + { + "name": "CSharp", + "href": "../api/BuildFromCSharpSourceCode.CSharp.html", + "topicHref": "../api/BuildFromCSharpSourceCode.CSharp.html", + "topicUid": "BuildFromCSharpSourceCode.CSharp", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + } + ], + "tocHref": null, + "level": 3.0 + }, + { + "name": "BuildFromProject", + "href": "../api/BuildFromProject.html", + "topicHref": "../api/BuildFromProject.html", + "topicUid": "BuildFromProject", + "items": [ + { + "name": "Issue8540", + "href": "../api/BuildFromProject.Issue8540.html", + "topicHref": "../api/BuildFromProject.Issue8540.html", + "topicUid": "BuildFromProject.Issue8540", + "items": [ + { + "name": "A", + "href": "../api/BuildFromProject.Issue8540.A.html", + "topicHref": "../api/BuildFromProject.Issue8540.A.html", + "topicUid": "BuildFromProject.Issue8540.A", + "items": [ + { + "name": "A", + "href": "../api/BuildFromProject.Issue8540.A.A.html", + "topicHref": "../api/BuildFromProject.Issue8540.A.A.html", + "topicUid": "BuildFromProject.Issue8540.A.A", + "tocHref": null, + "level": 6.0, + "items": [], + "leaf": true + } + ], + "tocHref": null, + "level": 5.0 + }, + { + "name": "B", + "href": "../api/BuildFromProject.Issue8540.B.html", + "topicHref": "../api/BuildFromProject.Issue8540.B.html", + "topicUid": "BuildFromProject.Issue8540.B", + "items": [ + { + "name": "B", + "href": "../api/BuildFromProject.Issue8540.B.B.html", + "topicHref": "../api/BuildFromProject.Issue8540.B.B.html", + "topicUid": "BuildFromProject.Issue8540.B.B", + "tocHref": null, + "level": 6.0, + "items": [], + "leaf": true + } + ], + "tocHref": null, + "level": 5.0 + } + ], + "tocHref": null, + "level": 4.0 + }, + { + "name": "Class1", + "href": "../api/BuildFromProject.Class1.html", + "topicHref": "../api/BuildFromProject.Class1.html", + "topicUid": "BuildFromProject.Class1", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Class1.IIssue8948", + "href": "../api/BuildFromProject.Class1.IIssue8948.html", + "topicHref": "../api/BuildFromProject.Class1.IIssue8948.html", + "topicUid": "BuildFromProject.Class1.IIssue8948", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Class1.Issue8665", + "href": "../api/BuildFromProject.Class1.Issue8665.html", + "topicHref": "../api/BuildFromProject.Class1.Issue8665.html", + "topicUid": "BuildFromProject.Class1.Issue8665", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Class1.Issue8696Attribute", + "href": "../api/BuildFromProject.Class1.Issue8696Attribute.html", + "topicHref": "../api/BuildFromProject.Class1.Issue8696Attribute.html", + "topicUid": "BuildFromProject.Class1.Issue8696Attribute", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Class1.Issue8948", + "href": "../api/BuildFromProject.Class1.Issue8948.html", + "topicHref": "../api/BuildFromProject.Class1.Issue8948.html", + "topicUid": "BuildFromProject.Class1.Issue8948", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Class1.Issue9260", + "href": "../api/BuildFromProject.Class1.Issue9260.html", + "topicHref": "../api/BuildFromProject.Class1.Issue9260.html", + "topicUid": "BuildFromProject.Class1.Issue9260", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Class1.Test", + "href": "../api/BuildFromProject.Class1.Test-1.html", + "topicHref": "../api/BuildFromProject.Class1.Test-1.html", + "topicUid": "BuildFromProject.Class1.Test`1", + "name.vb": "Class1.Test(Of T)", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "IInheritdoc", + "href": "../api/BuildFromProject.IInheritdoc.html", + "topicHref": "../api/BuildFromProject.IInheritdoc.html", + "topicUid": "BuildFromProject.IInheritdoc", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Inheritdoc", + "href": "../api/BuildFromProject.Inheritdoc.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.html", + "topicUid": "BuildFromProject.Inheritdoc", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Inheritdoc.Issue6366", + "href": "../api/BuildFromProject.Inheritdoc.Issue6366.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue6366.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue6366", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Inheritdoc.Issue6366.Class1", + "href": "../api/BuildFromProject.Inheritdoc.Issue6366.Class1-1.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue6366.Class1-1.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue6366.Class1`1", + "name.vb": "Inheritdoc.Issue6366.Class1(Of T)", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Inheritdoc.Issue6366.Class2", + "href": "../api/BuildFromProject.Inheritdoc.Issue6366.Class2.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue6366.Class2.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue6366.Class2", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Inheritdoc.Issue7035", + "href": "../api/BuildFromProject.Inheritdoc.Issue7035.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue7035.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue7035", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Inheritdoc.Issue7484", + "href": "../api/BuildFromProject.Inheritdoc.Issue7484.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue7484.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue7484", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Inheritdoc.Issue8101", + "href": "../api/BuildFromProject.Inheritdoc.Issue8101.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue8101.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue8101", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Inheritdoc.Issue8129", + "href": "../api/BuildFromProject.Inheritdoc.Issue8129.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue8129.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue8129", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + } + ], + "tocHref": null, + "level": 3.0 + }, + { + "name": "BuildFromVBSourceCode", + "href": "../api/BuildFromVBSourceCode.html", + "topicHref": "../api/BuildFromVBSourceCode.html", + "topicUid": "BuildFromVBSourceCode", + "items": [ + { + "name": "BaseClass1", + "href": "../api/BuildFromVBSourceCode.BaseClass1.html", + "topicHref": "../api/BuildFromVBSourceCode.BaseClass1.html", + "topicUid": "BuildFromVBSourceCode.BaseClass1", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Class1", + "href": "../api/BuildFromVBSourceCode.Class1.html", + "topicHref": "../api/BuildFromVBSourceCode.Class1.html", + "topicUid": "BuildFromVBSourceCode.Class1", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + } + ], + "tocHref": null, + "level": 3.0 + }, + { + "name": "CatLibrary", + "href": "../api/CatLibrary.html", + "topicHref": "../api/CatLibrary.html", + "topicUid": "CatLibrary", + "items": [ + { + "name": "Core", + "href": "../api/CatLibrary.Core.html", + "topicHref": "../api/CatLibrary.Core.html", + "topicUid": "CatLibrary.Core", + "items": [ + { + "name": "ContainersRefType", + "href": "../api/CatLibrary.Core.ContainersRefType.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.html", + "topicUid": "CatLibrary.Core.ContainersRefType", + "tocHref": null, + "level": 5.0, + "items": [], + "leaf": true + }, + { + "name": "ContainersRefType.ColorType", + "href": "../api/CatLibrary.Core.ContainersRefType.ColorType.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.ColorType.html", + "topicUid": "CatLibrary.Core.ContainersRefType.ColorType", + "tocHref": null, + "level": 5.0, + "items": [], + "leaf": true + }, + { + "name": "ContainersRefType.ContainersRefTypeChild", + "href": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html", + "topicUid": "CatLibrary.Core.ContainersRefType.ContainersRefTypeChild", + "tocHref": null, + "level": 5.0, + "items": [], + "leaf": true + }, + { + "name": "ContainersRefType.ContainersRefTypeChildInterface", + "href": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html", + "topicUid": "CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface", + "tocHref": null, + "level": 5.0, + "items": [], + "leaf": true + }, + { + "name": "ContainersRefType.ContainersRefTypeDelegate", + "href": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html", + "topicUid": "CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate", + "tocHref": null, + "level": 5.0, + "items": [], + "leaf": true + }, + { + "name": "ExplicitLayoutClass", + "href": "../api/CatLibrary.Core.ExplicitLayoutClass.html", + "topicHref": "../api/CatLibrary.Core.ExplicitLayoutClass.html", + "topicUid": "CatLibrary.Core.ExplicitLayoutClass", + "tocHref": null, + "level": 5.0, + "items": [], + "leaf": true + }, + { + "name": "Issue231", + "href": "../api/CatLibrary.Core.Issue231.html", + "topicHref": "../api/CatLibrary.Core.Issue231.html", + "topicUid": "CatLibrary.Core.Issue231", + "tocHref": null, + "level": 5.0, + "items": [], + "leaf": true + } + ], + "tocHref": null, + "level": 4.0 + }, + { + "name": "CatException", + "href": "../api/CatLibrary.CatException-1.html", + "topicHref": "../api/CatLibrary.CatException-1.html", + "topicUid": "CatLibrary.CatException`1", + "name.vb": "CatException(Of T)", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Cat", + "href": "../api/CatLibrary.Cat-2.html", + "topicHref": "../api/CatLibrary.Cat-2.html", + "topicUid": "CatLibrary.Cat`2", + "name.vb": "Cat(Of T, K)", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Complex", + "href": "../api/CatLibrary.Complex-2.html", + "topicHref": "../api/CatLibrary.Complex-2.html", + "topicUid": "CatLibrary.Complex`2", + "name.vb": "Complex(Of T, J)", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "FakeDelegate", + "href": "../api/CatLibrary.FakeDelegate-1.html", + "topicHref": "../api/CatLibrary.FakeDelegate-1.html", + "topicUid": "CatLibrary.FakeDelegate`1", + "name.vb": "FakeDelegate(Of T)", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "IAnimal", + "href": "../api/CatLibrary.IAnimal.html", + "topicHref": "../api/CatLibrary.IAnimal.html", + "topicUid": "CatLibrary.IAnimal", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "ICat", + "href": "../api/CatLibrary.ICat.html", + "topicHref": "../api/CatLibrary.ICat.html", + "topicUid": "CatLibrary.ICat", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "ICatExtension", + "href": "../api/CatLibrary.ICatExtension.html", + "topicHref": "../api/CatLibrary.ICatExtension.html", + "topicUid": "CatLibrary.ICatExtension", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "MRefDelegate", + "href": "../api/CatLibrary.MRefDelegate-3.html", + "topicHref": "../api/CatLibrary.MRefDelegate-3.html", + "topicUid": "CatLibrary.MRefDelegate`3", + "name.vb": "MRefDelegate(Of K, T, L)", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "MRefNormalDelegate", + "href": "../api/CatLibrary.MRefNormalDelegate.html", + "topicHref": "../api/CatLibrary.MRefNormalDelegate.html", + "topicUid": "CatLibrary.MRefNormalDelegate", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "Tom", + "href": "../api/CatLibrary.Tom.html", + "topicHref": "../api/CatLibrary.Tom.html", + "topicUid": "CatLibrary.Tom", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + }, + { + "name": "TomFromBaseClass", + "href": "../api/CatLibrary.TomFromBaseClass.html", + "topicHref": "../api/CatLibrary.TomFromBaseClass.html", + "topicUid": "CatLibrary.TomFromBaseClass", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + } + ], + "tocHref": null, + "level": 3.0 + }, + { + "name": "MRef.Demo.Enumeration", + "href": "../api/MRef.Demo.Enumeration.html", + "topicHref": "../api/MRef.Demo.Enumeration.html", + "topicUid": "MRef.Demo.Enumeration", + "items": [ + { + "name": "ColorType", + "href": "../api/MRef.Demo.Enumeration.ColorType.html", + "topicHref": "../api/MRef.Demo.Enumeration.ColorType.html", + "topicUid": "MRef.Demo.Enumeration.ColorType", + "tocHref": null, + "level": 4.0, + "items": [], + "leaf": true + } + ], + "tocHref": null, + "level": 3.0 + } + ], + "topicHref": null, + "tocHref": null, + "level": 2.0 + }, + { + "name": "REST API", + "includedFrom": "~/restapi/toc.md", + "items": [ + { + "name": "Pet Store API", + "href": "../restapi/petstore.html", + "topicHref": "../restapi/petstore.html", + "tocHref": null, + "level": 3.0, + "items": [], + "leaf": true + }, + { + "name": "Contacts API", + "href": "../restapi/contacts.html", + "topicHref": "../restapi/contacts.html", + "tocHref": null, + "level": 3.0, + "items": [], + "leaf": true + } + ], + "topicHref": null, + "tocHref": null, + "level": 2.0 + } + ], + "_appName": "Seed", + "_appTitle": "docfx seed website", + "_enableSearch": true, + "pdf": true, + "pdfTocPage": true, + "_key": "pdf/toc.yml", + "_navKey": "~/toc.yml", + "_navPath": "toc.html", + "_navRel": "../toc.html", + "_path": "pdf/toc.html", + "_rel": "../", + "_tocKey": "~/pdf/toc.yml", + "_tocPath": "pdf/toc.html", + "_tocRel": "toc.html", + "topicHref": null, + "tocHref": null, + "name": null, + "level": 1.0, + "leaf": false, + "title": "Table of Content", + "_disableToc": true +} \ No newline at end of file diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/toc.json.view.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/toc.json.view.verified.json new file mode 100644 index 00000000000..00bcf2c4c99 --- /dev/null +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/toc.json.view.verified.json @@ -0,0 +1,3 @@ +{ + "content": "{\"order\":200,\"items\":[{\"name\":\"Articles\",\"includedFrom\":\"~/articles/toc.yml\",\"items\":[{\"name\":\"Getting Started\",\"href\":\"../articles/docfx_getting_started.html\",\"topicHref\":\"../articles/docfx_getting_started.html\"},{\"name\":\"Engineering Docs\",\"items\":[{\"name\":\"Section 1\"},{\"name\":\"Engineering Guidelines\",\"href\":\"../articles/engineering_guidelines.html\",\"topicHref\":\"../articles/engineering_guidelines.html\"},{\"name\":\"CSharp Coding Standards\",\"href\":\"../articles/csharp_coding_standards.html\",\"topicHref\":\"../articles/csharp_coding_standards.html\"}],\"expanded\":true},{\"name\":\"Markdown\",\"href\":\"../articles/markdown.html\",\"topicHref\":\"../articles/markdown.html\"},{\"name\":\"Microsoft Docs\",\"href\":\"https://docs.microsoft.com/en-us/\",\"topicHref\":\"https://docs.microsoft.com/en-us/\"}]},{\"name\":\"API Documentation\",\"includedFrom\":\"~/obj/api/toc.yml\",\"items\":[{\"name\":\"BuildFromAssembly\",\"href\":\"../api/BuildFromAssembly.html\",\"topicHref\":\"../api/BuildFromAssembly.html\",\"topicUid\":\"BuildFromAssembly\",\"items\":[{\"name\":\"Class1\",\"href\":\"../api/BuildFromAssembly.Class1.html\",\"topicHref\":\"../api/BuildFromAssembly.Class1.html\",\"topicUid\":\"BuildFromAssembly.Class1\"}]},{\"name\":\"BuildFromCSharpSourceCode\",\"href\":\"../api/BuildFromCSharpSourceCode.html\",\"topicHref\":\"../api/BuildFromCSharpSourceCode.html\",\"topicUid\":\"BuildFromCSharpSourceCode\",\"items\":[{\"name\":\"CSharp\",\"href\":\"../api/BuildFromCSharpSourceCode.CSharp.html\",\"topicHref\":\"../api/BuildFromCSharpSourceCode.CSharp.html\",\"topicUid\":\"BuildFromCSharpSourceCode.CSharp\"}]},{\"name\":\"BuildFromProject\",\"href\":\"../api/BuildFromProject.html\",\"topicHref\":\"../api/BuildFromProject.html\",\"topicUid\":\"BuildFromProject\",\"items\":[{\"name\":\"Issue8540\",\"href\":\"../api/BuildFromProject.Issue8540.html\",\"topicHref\":\"../api/BuildFromProject.Issue8540.html\",\"topicUid\":\"BuildFromProject.Issue8540\",\"items\":[{\"name\":\"A\",\"href\":\"../api/BuildFromProject.Issue8540.A.html\",\"topicHref\":\"../api/BuildFromProject.Issue8540.A.html\",\"topicUid\":\"BuildFromProject.Issue8540.A\",\"items\":[{\"name\":\"A\",\"href\":\"../api/BuildFromProject.Issue8540.A.A.html\",\"topicHref\":\"../api/BuildFromProject.Issue8540.A.A.html\",\"topicUid\":\"BuildFromProject.Issue8540.A.A\"}]},{\"name\":\"B\",\"href\":\"../api/BuildFromProject.Issue8540.B.html\",\"topicHref\":\"../api/BuildFromProject.Issue8540.B.html\",\"topicUid\":\"BuildFromProject.Issue8540.B\",\"items\":[{\"name\":\"B\",\"href\":\"../api/BuildFromProject.Issue8540.B.B.html\",\"topicHref\":\"../api/BuildFromProject.Issue8540.B.B.html\",\"topicUid\":\"BuildFromProject.Issue8540.B.B\"}]}]},{\"name\":\"Class1\",\"href\":\"../api/BuildFromProject.Class1.html\",\"topicHref\":\"../api/BuildFromProject.Class1.html\",\"topicUid\":\"BuildFromProject.Class1\"},{\"name\":\"Class1.IIssue8948\",\"href\":\"../api/BuildFromProject.Class1.IIssue8948.html\",\"topicHref\":\"../api/BuildFromProject.Class1.IIssue8948.html\",\"topicUid\":\"BuildFromProject.Class1.IIssue8948\"},{\"name\":\"Class1.Issue8665\",\"href\":\"../api/BuildFromProject.Class1.Issue8665.html\",\"topicHref\":\"../api/BuildFromProject.Class1.Issue8665.html\",\"topicUid\":\"BuildFromProject.Class1.Issue8665\"},{\"name\":\"Class1.Issue8696Attribute\",\"href\":\"../api/BuildFromProject.Class1.Issue8696Attribute.html\",\"topicHref\":\"../api/BuildFromProject.Class1.Issue8696Attribute.html\",\"topicUid\":\"BuildFromProject.Class1.Issue8696Attribute\"},{\"name\":\"Class1.Issue8948\",\"href\":\"../api/BuildFromProject.Class1.Issue8948.html\",\"topicHref\":\"../api/BuildFromProject.Class1.Issue8948.html\",\"topicUid\":\"BuildFromProject.Class1.Issue8948\"},{\"name\":\"Class1.Issue9260\",\"href\":\"../api/BuildFromProject.Class1.Issue9260.html\",\"topicHref\":\"../api/BuildFromProject.Class1.Issue9260.html\",\"topicUid\":\"BuildFromProject.Class1.Issue9260\"},{\"name\":\"Class1.Test\",\"href\":\"../api/BuildFromProject.Class1.Test-1.html\",\"topicHref\":\"../api/BuildFromProject.Class1.Test-1.html\",\"topicUid\":\"BuildFromProject.Class1.Test`1\",\"name.vb\":\"Class1.Test(Of T)\"},{\"name\":\"IInheritdoc\",\"href\":\"../api/BuildFromProject.IInheritdoc.html\",\"topicHref\":\"../api/BuildFromProject.IInheritdoc.html\",\"topicUid\":\"BuildFromProject.IInheritdoc\"},{\"name\":\"Inheritdoc\",\"href\":\"../api/BuildFromProject.Inheritdoc.html\",\"topicHref\":\"../api/BuildFromProject.Inheritdoc.html\",\"topicUid\":\"BuildFromProject.Inheritdoc\"},{\"name\":\"Inheritdoc.Issue6366\",\"href\":\"../api/BuildFromProject.Inheritdoc.Issue6366.html\",\"topicHref\":\"../api/BuildFromProject.Inheritdoc.Issue6366.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue6366\"},{\"name\":\"Inheritdoc.Issue6366.Class1\",\"href\":\"../api/BuildFromProject.Inheritdoc.Issue6366.Class1-1.html\",\"topicHref\":\"../api/BuildFromProject.Inheritdoc.Issue6366.Class1-1.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue6366.Class1`1\",\"name.vb\":\"Inheritdoc.Issue6366.Class1(Of T)\"},{\"name\":\"Inheritdoc.Issue6366.Class2\",\"href\":\"../api/BuildFromProject.Inheritdoc.Issue6366.Class2.html\",\"topicHref\":\"../api/BuildFromProject.Inheritdoc.Issue6366.Class2.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue6366.Class2\"},{\"name\":\"Inheritdoc.Issue7035\",\"href\":\"../api/BuildFromProject.Inheritdoc.Issue7035.html\",\"topicHref\":\"../api/BuildFromProject.Inheritdoc.Issue7035.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue7035\"},{\"name\":\"Inheritdoc.Issue7484\",\"href\":\"../api/BuildFromProject.Inheritdoc.Issue7484.html\",\"topicHref\":\"../api/BuildFromProject.Inheritdoc.Issue7484.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue7484\"},{\"name\":\"Inheritdoc.Issue8101\",\"href\":\"../api/BuildFromProject.Inheritdoc.Issue8101.html\",\"topicHref\":\"../api/BuildFromProject.Inheritdoc.Issue8101.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue8101\"},{\"name\":\"Inheritdoc.Issue8129\",\"href\":\"../api/BuildFromProject.Inheritdoc.Issue8129.html\",\"topicHref\":\"../api/BuildFromProject.Inheritdoc.Issue8129.html\",\"topicUid\":\"BuildFromProject.Inheritdoc.Issue8129\"}]},{\"name\":\"BuildFromVBSourceCode\",\"href\":\"../api/BuildFromVBSourceCode.html\",\"topicHref\":\"../api/BuildFromVBSourceCode.html\",\"topicUid\":\"BuildFromVBSourceCode\",\"items\":[{\"name\":\"BaseClass1\",\"href\":\"../api/BuildFromVBSourceCode.BaseClass1.html\",\"topicHref\":\"../api/BuildFromVBSourceCode.BaseClass1.html\",\"topicUid\":\"BuildFromVBSourceCode.BaseClass1\"},{\"name\":\"Class1\",\"href\":\"../api/BuildFromVBSourceCode.Class1.html\",\"topicHref\":\"../api/BuildFromVBSourceCode.Class1.html\",\"topicUid\":\"BuildFromVBSourceCode.Class1\"}]},{\"name\":\"CatLibrary\",\"href\":\"../api/CatLibrary.html\",\"topicHref\":\"../api/CatLibrary.html\",\"topicUid\":\"CatLibrary\",\"items\":[{\"name\":\"Core\",\"href\":\"../api/CatLibrary.Core.html\",\"topicHref\":\"../api/CatLibrary.Core.html\",\"topicUid\":\"CatLibrary.Core\",\"items\":[{\"name\":\"ContainersRefType\",\"href\":\"../api/CatLibrary.Core.ContainersRefType.html\",\"topicHref\":\"../api/CatLibrary.Core.ContainersRefType.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType\"},{\"name\":\"ContainersRefType.ColorType\",\"href\":\"../api/CatLibrary.Core.ContainersRefType.ColorType.html\",\"topicHref\":\"../api/CatLibrary.Core.ContainersRefType.ColorType.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ColorType\"},{\"name\":\"ContainersRefType.ContainersRefTypeChild\",\"href\":\"../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html\",\"topicHref\":\"../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChild\"},{\"name\":\"ContainersRefType.ContainersRefTypeChildInterface\",\"href\":\"../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html\",\"topicHref\":\"../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface\"},{\"name\":\"ContainersRefType.ContainersRefTypeDelegate\",\"href\":\"../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html\",\"topicHref\":\"../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html\",\"topicUid\":\"CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate\"},{\"name\":\"ExplicitLayoutClass\",\"href\":\"../api/CatLibrary.Core.ExplicitLayoutClass.html\",\"topicHref\":\"../api/CatLibrary.Core.ExplicitLayoutClass.html\",\"topicUid\":\"CatLibrary.Core.ExplicitLayoutClass\"},{\"name\":\"Issue231\",\"href\":\"../api/CatLibrary.Core.Issue231.html\",\"topicHref\":\"../api/CatLibrary.Core.Issue231.html\",\"topicUid\":\"CatLibrary.Core.Issue231\"}]},{\"name\":\"CatException\",\"href\":\"../api/CatLibrary.CatException-1.html\",\"topicHref\":\"../api/CatLibrary.CatException-1.html\",\"topicUid\":\"CatLibrary.CatException`1\",\"name.vb\":\"CatException(Of T)\"},{\"name\":\"Cat\",\"href\":\"../api/CatLibrary.Cat-2.html\",\"topicHref\":\"../api/CatLibrary.Cat-2.html\",\"topicUid\":\"CatLibrary.Cat`2\",\"name.vb\":\"Cat(Of T, K)\"},{\"name\":\"Complex\",\"href\":\"../api/CatLibrary.Complex-2.html\",\"topicHref\":\"../api/CatLibrary.Complex-2.html\",\"topicUid\":\"CatLibrary.Complex`2\",\"name.vb\":\"Complex(Of T, J)\"},{\"name\":\"FakeDelegate\",\"href\":\"../api/CatLibrary.FakeDelegate-1.html\",\"topicHref\":\"../api/CatLibrary.FakeDelegate-1.html\",\"topicUid\":\"CatLibrary.FakeDelegate`1\",\"name.vb\":\"FakeDelegate(Of T)\"},{\"name\":\"IAnimal\",\"href\":\"../api/CatLibrary.IAnimal.html\",\"topicHref\":\"../api/CatLibrary.IAnimal.html\",\"topicUid\":\"CatLibrary.IAnimal\"},{\"name\":\"ICat\",\"href\":\"../api/CatLibrary.ICat.html\",\"topicHref\":\"../api/CatLibrary.ICat.html\",\"topicUid\":\"CatLibrary.ICat\"},{\"name\":\"ICatExtension\",\"href\":\"../api/CatLibrary.ICatExtension.html\",\"topicHref\":\"../api/CatLibrary.ICatExtension.html\",\"topicUid\":\"CatLibrary.ICatExtension\"},{\"name\":\"MRefDelegate\",\"href\":\"../api/CatLibrary.MRefDelegate-3.html\",\"topicHref\":\"../api/CatLibrary.MRefDelegate-3.html\",\"topicUid\":\"CatLibrary.MRefDelegate`3\",\"name.vb\":\"MRefDelegate(Of K, T, L)\"},{\"name\":\"MRefNormalDelegate\",\"href\":\"../api/CatLibrary.MRefNormalDelegate.html\",\"topicHref\":\"../api/CatLibrary.MRefNormalDelegate.html\",\"topicUid\":\"CatLibrary.MRefNormalDelegate\"},{\"name\":\"Tom\",\"href\":\"../api/CatLibrary.Tom.html\",\"topicHref\":\"../api/CatLibrary.Tom.html\",\"topicUid\":\"CatLibrary.Tom\"},{\"name\":\"TomFromBaseClass\",\"href\":\"../api/CatLibrary.TomFromBaseClass.html\",\"topicHref\":\"../api/CatLibrary.TomFromBaseClass.html\",\"topicUid\":\"CatLibrary.TomFromBaseClass\"}]},{\"name\":\"MRef.Demo.Enumeration\",\"href\":\"../api/MRef.Demo.Enumeration.html\",\"topicHref\":\"../api/MRef.Demo.Enumeration.html\",\"topicUid\":\"MRef.Demo.Enumeration\",\"items\":[{\"name\":\"ColorType\",\"href\":\"../api/MRef.Demo.Enumeration.ColorType.html\",\"topicHref\":\"../api/MRef.Demo.Enumeration.ColorType.html\",\"topicUid\":\"MRef.Demo.Enumeration.ColorType\"}]}]},{\"name\":\"REST API\",\"includedFrom\":\"~/restapi/toc.md\",\"items\":[{\"name\":\"Pet Store API\",\"href\":\"../restapi/petstore.html\",\"topicHref\":\"../restapi/petstore.html\"},{\"name\":\"Contacts API\",\"href\":\"../restapi/contacts.html\",\"topicHref\":\"../restapi/contacts.html\"}]}],\"pdf\":true,\"pdfTocPage\":true}" +} \ No newline at end of file diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/toc.pdf.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/toc.pdf.verified.json new file mode 100644 index 00000000000..352fc8522de --- /dev/null +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/toc.pdf.verified.json @@ -0,0 +1,4671 @@ +{ + "NumberOfPages": 120, + "Pages": [ + { + "Number": 1, + "Text": "Table of ContentsArticlesGetting Started3Engineering DocsSection 1Engineering Guidelines5CSharp Coding Standards8Markdown14Microsoft DocsAPI DocumentationBuildFromAssembly19Class120BuildFromCSharpSourceCode21CSharp22BuildFromProject23Issue854024A25A26B27B28Class129Class1.IIssue894834Class1.Issue866535Class1.Issue8696Attribute38Class1.Issue894840Class1.Issue926041Class1.Test42IInheritdoc43Inheritdoc44Inheritdoc.Issue636646Inheritdoc.Issue6366.Class147Inheritdoc.Issue6366.Class249Inheritdoc.Issue703550Inheritdoc.Issue748451Inheritdoc.Issue810153Inheritdoc.Issue812955BuildFromVBSourceCode56BaseClass157Class158", + "Links": [ + { + "Uri": "https://docs.microsoft.com/en-us/" + }, + { + "Goto": { + "PageNumber": 3, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 5, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 8, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 14, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 19, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 20, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 21, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 22, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 24, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 25, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 26, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 27, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 28, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 29, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 34, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 35, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 38, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 40, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 41, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 42, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 43, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 44, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 46, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 47, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 49, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 50, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 51, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 53, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 55, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 56, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 57, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 58, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 2, + "Text": "CatLibrary60Core62ContainersRefType63ContainersRefType.ColorType65ContainersRefType.ContainersRefTypeChild66ContainersRefType.ContainersRefTypeChildInterface67ContainersRefType.ContainersRefTypeDelegate68ExplicitLayoutClass69Issue23170CatException71Cat72Complex81FakeDelegate82IAnimal83ICat86ICatExtension87MRefDelegate89MRefNormalDelegate90Tom91TomFromBaseClass93MRef.Demo.Enumeration94ColorType95REST APIPet Store API96Contacts API111", + "Links": [ + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 63, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 65, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 66, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 67, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 68, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 69, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 70, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 71, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 72, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 81, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 82, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 83, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 86, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 87, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 89, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 90, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 91, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 93, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 94, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 95, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 96, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 111, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 3, + "NumberOfImages": 1, + "Text": "3Getting Started with docfxGetting StartedThis is a seed.", + "Links": [ + { + "Uri": "" + } + ] + }, + { + "Number": 4, + "Text": "4docfx is an API documentation generator for .NET, currently support C# and VB. It has the ability toextract triple slash comments out from your source code. What's more, it has syntax to link additionalfiles to API to add additional remarks. docfx will scan your source code and your additional conceptualfiles and generate a complete HTML documentation website for you. docfx provides the flexibility foryou to customize the website through templates. We currently have several embedded templates,including websites containing pure static html pages and also website managed by AngularJS.Click \"View Source\" for an API to route to the source code in GitHub (your API must be pushed toGitHub)docfx provide DNX version for cross platform use.docfx can be used within Visual Studio seamlessly. NOTE offical docfx.msbuild nuget package isnow in pre-release version. You can also build your own with source code and use it locally.We support Docfx Flavored Markdown(DFM) for writing conceptual files. DFM is 100%compatible with Github Flavored Markdown(GFM) and add several new features including fileinclusion, cross reference, and yaml header.", + "Links": [] + }, + { + "Number": 5, + "Text": "5Engineering GuidelinesBasicsCopyright header and license noticeAll source code files require the following exact header according to its language (please do not makeany changes to it).extension: .csextension: .jsextension: .cssextension: .tmpl, .tmpl.partialExternal dependenciesThis refers to dependencies on projects (i.e. NuGet packages) outside of the docfx repo, and especiallyoutside of Microsoft. Adding new dependencies require additional approval.Current approved dependencies are:Newtonsoft.JsonJintHtmlAgilityPack// Licensed to the .NET Foundation under one or more agreements.// The .NET Foundation licenses this file to you under the MIT license.// Licensed to the .NET Foundation under one or more agreements.// The .NET Foundation licenses this file to you under the MIT license./** * Licensed to the .NET Foundation under one or more agreements. * The .NET Foundation licenses this file to you under the MIT license. */{{!Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses th", + "Links": [] + }, + { + "Number": 6, + "Text": "6NustacheYamlDotNetCode reviews and checkinsTo help ensure that only the highest quality code makes its way into the project, please submit all yourcode changes to GitHub as PRs. This includes runtime code changes, unit test updates, and deploymentscripts. For example, sending a PR for just an update to a unit test might seem like a waste of time butthe unit tests are just as important as the product code and as such, reviewing changes to them is alsojust as important.The advantages are numerous: improving code quality, more visibility on changes and their potentialimpact, avoiding duplication of effort, and creating general awareness of progress being made in variousareas.In general a PR should be signed off(using the \uD83D\uDC4D emoticon) by the Owner of that code.To commit the PR to the repo do not use the Big Green Button. Instead, do a typical push that youwould use with Git (e.g. local pull, rebase, merge, push).Source Code ManagementBranch strategyIn general:master has the code for the latest release on NuGet.org. (e.g. 1.0.0, 1.1.0)dev has the code that is being worked on but not yet released. This is the branch into which devsnormally submit pull requests and merge changes into. We run daily CI towards dev branch andgenerate pre-release nuget package, e.g. 1.0.1-alpha-9-abcdefsd.hotfix has the code for fixing master bug after it is released. hotfix changes will be merged back tomaster and dev once it is verified.Solution and project folder structure and namingSolution files go in the repo root. The default entry point is All.sln.Every project also needs a project.json and a matching .xproj file. This project.json is the source oftruth for a project's dependencies and configuration options.Solution need to contain solution folders that match the physical folder (src, test, tools, etc.).Assembly naming patternThe general naming pattern is Docfx...", + "Links": [] + }, + { + "Number": 7, + "Text": "7Unit testsWe use xUnit.net for all unit testing.Coding StandardsPlease refer to C# Coding standards for detailed guideline for C# coding standards.TODO Template Coding standardsTODO Template Preprocess JS Coding standards", + "Links": [ + { + "Goto": { + "PageNumber": 8, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 8, + "Text": "8C# Coding StandardsIntroductionThe coding standard will be used in conjunction with customized version of StyleCop and FxCop [TODO]during both development and build process. This will help ensure that the standard is followed by alldevelopers on the team in a consistent manner.\"Any fool can write code that a computer can understand. Good programmers write code thathumans understand\".Martin Fowler. Refactoring: Improving the design of existing code.PurposeThe aim of this section is to define a set of C# coding standards to be used by CAPS build team toguarantee maximum legibility, reliability, re-usability and homogeneity of our code. Each section ismarked Mandatory or Recommended. Mandatory sections, will be enforced during code reviews as wellas tools like StyleCop and FxCop, and code will not be considered complete until it is compliant.ScopeThis section contains general C# coding standards which can be applied to any type of applicationdeveloped in C#, based on Framework Design Guidelines\uF1C5.It does not pretend to be a tutorial on C#. It only includes a set of limitations and recommendationsfocused on clarifying the development.ToolsResharper\uF1C5 is a great 3rd party code cleanup and style tool.StyleCop\uF1C5 analyzes C# srouce code to enforce a set of style and consistency rules and has beenintegrated into many 3rd party development tools such as Resharper.FxCop\uF1C5 is an application that analyzes managed code assemblies (code that targets the .NETFramework common language runtime) and reports information about the assemblies, such aspossible design, localization, performance, and security improvements.C# Stylizer\uF1C5 does many of the style rules automaticallyHighlights of Coding StandardsThis section is not intended to give a summary of all the coding standards that enabled by ourcustomized StyleCop, but to give a highlight of some rules one will possibly meet in daily coding life. Italso provides some recommended however not mandatory(which means not enabled in StyleCop)coding standards.", + "Links": [ + { + "Uri": "http://msdn.microsoft.com/en-us/library/ms229042.aspx" + }, + { + "Uri": "http://www.jetbrains.com/resharper/" + }, + { + "Uri": "http://stylecop.codeplex.com/" + }, + { + "Uri": "http://codebox/SDLFxCop" + }, + { + "Uri": "http://toolbox/22561" + } + ] + }, + { + "Number": 9, + "Text": "9File Layout (Recommended)Only one public class is allowed per file.The file name is derived from the class name.Class Definition Order (Mandatory)The class definition contains class members in the following order, from less restricted scope (public) tomore restrictive (private):Nested types, e.g. classes, enum, struct, etc.Field members, e.g. member variables, const, etc.Member functionsConstructorsFinalizer (Do not use unless absolutely necessary)Methods (Properties, Events, Operations, Overridables, Static)Private nested typesNaming (Mandatory)DO use PascalCasing for all public member, type, and namespace names consisting of multiplewords.NOTE: A special case is made for two-letter acronyms in which both letters are capitalized, e.g. IOStreamDO use camelCasing for parameter names.DO start with underscore for private fieldsClass : ObserverFilename: Observer.cs PropertyDescriptor HtmlTag IOStream propertyDescriptor htmlTag ioStream private readonly Guid _userId = Guid.NewGuid();", + "Links": [] + }, + { + "Number": 10, + "Text": "10DO start static readonly fields, constants with capitalized caseDO NOT capitalize each word in so-called closed-form compound words\uF1C5.DO have \"Async\" explicitly in the Async method name to notice people how to use it properlyFormatting (Mandatory)DO use spaces over tabs, and always show all spaces/tabs in IDETipsVisual Studio > TOOLS > Options > Text Editor > C# > Tabs > Insert spaces (Tab size: 4)Visual Studio > Edit > Advanced > View White SpaceDO add using inside namespace declarationDO add a space when:1. for (var i = 0; i < 1; i++)2. if (a == b)Cross-platform codingOur code should supports multiple operating systems. Don't assume we only run (and develop) onWindows. Code should be sensitvie to the differences between OS's. Here are some specifics to consider.DO use Enviroment.NewLine instead of hard-coding the line break instead of \\r\\n, as Windows uses\\r\\n and OSX/Linux uses \\n.NoteBe aware that thes line-endings may cause problems in code when using @\"\" text blocks with linebreaks. private static readonly IEntityAccessor EntityAccessor = null; private const string MetadataName = \"MetadataName\"; namespace Microsoft.Content.Build.BuildWorker.UnitTest { using System; }", + "Links": [ + { + "Uri": "http://msdn.microsoft.com/en-us/library/ms229043.aspx" + } + ] + }, + { + "Number": 11, + "Text": "11DO Use Path.Combine() or Path.DirectorySeparatorChar to separate directories. If this is notpossible (such as in scripting), use a forward slash /. Windows is more forgiving than Linux in thisregard.Unit tests and functional testsAssembly namingThe unit tests for the Microsoft.Foo assembly live in the Microsoft.Foo.Tests assembly.The functional tests for the Microsoft.Foo assmebly live in the Microsoft.Foo.FunctionalTests assmebly.In general there should be exactly one unit test assebmly for each product runtime assembly. In generalthere should be one functional test assembly per repo. Exceptions can be made for both.Unit test class namingTest class names end with Test and live in the same namespace as the class being tested. For example,the unit tests for the Microsoft.Foo.Boo class would be in a Microsoft.Foo.Boo class in the test assembly.Unit test method namingUnit test method names must be descriptive about what is being tested, under what conditions, and whatthe expectations are. Pascal casing and underscores can be used to improve readability. The followingtest names are correct:The following test names are incorrect:Unit test structureThe contents of every unit test should be split into three distinct stages, optionally separated by thesecomments:PublicApiArgumentsShouldHaveNotNullAnnotationPublic_api_arguments_should_have_not_null_annotationTest1ConstructorFormatStringGetData// Arrange// Act// Assert", + "Links": [] + }, + { + "Number": 12, + "Text": "12The crucial thing here is the Act stage is exactly one statement. That one statement is nothing more thana call to the one method that you are trying to test. keeping that one statement as simple as possible isalso very important. For example, this is not ideal:This style is not recomended because way too many things can go wrong in this one statement. All theGetComplexParamN() calls can throw for a variety of reasons unrelated to the test itself. It is thus unclearto someone running into a problem why the failure occured.The ideal pattern is to move the complex parameter building into the `Arrange section:Now the only reason the line with CallSomeMethod() can fail is if the method itself blew up.Testing exception messagesIn general testing the specific exception message in a unit test is important. This ensures that the exactdesired exception is what is being tested rather than a different exception of the same type. In order toverify the exact exception it is important to verify the message.Use xUnit.net's plethora of built-in assertionsxUnit.net includes many kinds of assertions – please use the most appropriate one for your test. This willmake the tests a lot more readable and also allow the test runner report the best possible errors(whether it's local or the CI machine). For example, these are bad:int result = myObj.CallSomeMethod(GetComplexParam1(), GetComplexParam2(), GetComplexParam3());// ArrangeP1 p1 = GetComplexParam1();P2 p2 = GetComplexParam2();P3 p3 = GetComplexParam3();// Actint result = myObj.CallSomeMethod(p1, p2, p3);// AssertAssert.AreEqual(1234, result);var ex = Assert.Throws( () => fruitBasket.GetBananaById(1234));Assert.Equal( \"1234\", ex.Message);", + "Links": [] + }, + { + "Number": 13, + "Text": "13These are good:Parallel testsBy default all unit test assemblies should run in parallel mode, which is the default. Unit tests shouldn'tdepend on any shared state, and so should generally be runnable in parallel. If the tests fail in parallel,the first thing to do is to figure out why; do not just disable parallel tests!For functional tests it is reasonable to disable parallel tests.Assert.Equal(true, someBool);Assert.True(\"abc123\" == someString);Assert.True(list1.Length == list2.Length);for (int i = 0; i < list1.Length; i++) { Assert.True( String.Equals list1[i], list2[i], StringComparison.OrdinalIgnoreCase));}Assert.True(someBool);Assert.Equal(\"abc123\", someString);// built-in collection assertions!Assert.Equal(list1, list2, StringComparer.OrdinalIgnoreCase);", + "Links": [] + }, + { + "Number": 14, + "Text": "14MarkdownMarkdown\uF1C5 is a lightweight markup language with plain text formatting syntax. Docfx supportsCommonMark\uF1C5 compliant Markdown parsed through the Markdig\uF1C5 parsing engine.Link to Math ExpressionsBlock QuotesThis is a block quote.AlertsNOTEInformation the user should notice even if skimming.\uF431TIPOptional information to help a user be more successful.\uF431IMPORTANTEssential information required for user success.\uF623CAUTIONNegative potential consequences of an action.\uF623WARNINGDangerous certain consequences of an action.\uF333", + "Links": [ + { + "Uri": "https://daringfireball.net/projects/markdown/" + }, + { + "Uri": "https://commonmark.org/" + }, + { + "Uri": "https://github.com/xoofx/markdig" + }, + { + "Goto": { + "PageNumber": 16, + "Coordinates": { + "Left": 29.000002, + "Top": 225.99988 + } + } + } + ] + }, + { + "Number": 15, + "NumberOfImages": 1, + "Text": "15ImageMermaid DiagramsFlowchartCode SnippetThe example highlights lines 2, line 5 to 7 and lines 9 to the end of the file.MY TODOThis is a TODO.TextOneTwoHardRoundDecisionResult 1Result 2", + "Links": [ + { + "Uri": "https://learn.microsoft.com/en-us/media/learn/not-found/learn-not-found-light-mode.png?branch=main" + } + ] + }, + { + "Number": 16, + "Text": "16Math ExpressionsThis sentence uses $ delimiters to show math inline: The Cauchy-Schwarz InequalityThis expression uses \\$ to display a dollar sign: To split $100 in half, we calculate using System;using Azure;using Azure.Storage;using Azure.Storage.Blobs;class Program{ static void Main(string[] args) { // Define the connection string for the storage account string connectionString = \"DefaultEndpointsProtocol=https;AccountName=InheritdocInheritdoc.Issue6366Inheritdoc.Issue6366.Class1Inheritdoc.Issue6366.Class2Inheritdoc.Issue7035Inheritdoc.Issue7484This is a test class to have something for DocFX to document.Inheritdoc.Issue8101StructsInheritdoc.Issue8129InterfacesClass1.IIssue8948IInheritdocEnumsClass1.Issue9260Namespace BuildFromProject", + "Links": [ + { + "Goto": { + "PageNumber": 24, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 29, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 35, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 38, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 40, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 42, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 44, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 46, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 47, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 49, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 50, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 51, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 53, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 55, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 34, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 43, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 41, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 24, + "Text": "24NamespacesBuildFromProject.Issue8540.ABuildFromProject.Issue8540.BNamespace BuildFromProject.Issue8540", + "Links": [ + { + "Goto": { + "PageNumber": 25, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 27, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 25, + "Text": "25ClassesANamespace BuildFromProject.Issue8540.A", + "Links": [ + { + "Goto": { + "PageNumber": 26, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 26, + "Text": "26Namespace:BuildFromProject.Issue8540.AAssembly:BuildFromProject.dllInheritanceobject\uF1C5 AInherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5Class Apublic class A\uF12C", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 24, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 25, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 27, + "Text": "27ClassesBNamespace BuildFromProject.Issue8540.B", + "Links": [ + { + "Goto": { + "PageNumber": 28, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 28, + "Text": "28Namespace:BuildFromProject.Issue8540.BAssembly:BuildFromProject.dllInheritanceobject\uF1C5 BInherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5Class Bpublic class B\uF12C", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 24, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 27, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 29, + "Text": "29Namespace:BuildFromProjectAssembly:BuildFromProject.dllInheritanceobject\uF1C5 Class1ImplementsIClass1Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5MethodsPricing models are used to calculate theoretical option values1-Black Scholes2-Black763-Black76Fut4-Equity Tree5-Variance Swap6-Dividend ForecastIConfiguration related helper and extension routines.Class Class1public class Class1 : IClass1\uF12CIssue1651()public void Issue1651()Issue1887()", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 30, + "Text": "30ExamplesRemarksFor example:Remarkspublic void Issue1887()Issue2623()public void Issue2623()MyClass myClass = new MyClass();void Update(){ myClass.Execute();}MyClass myClass = new MyClass();void Update(){ myClass.Execute();}Issue2723()public void Issue2723()NOTEThis is a . & \" '\uF431", + "Links": [] + }, + { + "Number": 31, + "Text": "31Inline .link\uF1C5ExamplesRemarksfor (var i = 0; i > 10; i++) // & \" 'var range = new Range { Min = 0, Max = 10 };var range = new Range { Min = 0, Max = 10 };Issue4017()public void Issue4017()public void HookMessageDeleted(BaseSocketClient client){ client.MessageDeleted += HandleMessageDelete;}public Task HandleMessageDelete(Cacheable cachedMessage, ISocketMessageChannel{ // check if the message exists in cache; if not, we cannot report what was removed if (!cachedMessage.HasValue) return; var message = cachedMessage.Value; Console.WriteLine($\"A message ({message.Id}) from {message.Author} was removed from the cha + Environment.NewLine + message.Content); return Task.CompletedTask;}void Update(){ myClass.Execute();}", + "Links": [ + { + "Uri": "https://www.github.com/" + } + ] + }, + { + "Number": 32, + "Text": "32Remarks@\"\\\\?\\\" @\"\\\\?\\\"RemarksThere's really no reason to not believe that this class can test things.TermDescriptionA TermA DescriptionBee TermBee DescriptionType ParametersTTestIssue4392()public void Issue4392()Issue7484()public void Issue7484()Issue8764()public void Issue8764() where T : unmanagedIssue896()public void Issue896()", + "Links": [] + }, + { + "Number": 33, + "Text": "33See AlsoClass1.Test, Class1Calculates the determinant of a 3-dimensional matrix:Returns the smallest value:Returnsdouble\uF1C5This method should do something...RemarksThis is remarks.Issue9216()public static double Issue9216()XmlCommentIncludeTag()public void XmlCommentIncludeTag()", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.double" + }, + { + "Goto": { + "PageNumber": 29, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 42, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 29, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 34, + "Text": "34Namespace:BuildFromProjectAssembly:BuildFromProject.dllMethodsDoes nothing with generic type T.Type ParametersTA generic type.Interface Class1.IIssue8948public interface Class1.IIssue8948DoNothing()void DoNothing()", + "Links": [ + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 35, + "Text": "35Namespace:BuildFromProjectAssembly:BuildFromProject.dllInheritanceobject\uF1C5 Class1.Issue8665Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5ConstructorsParametersfoo int\uF1C5ParametersClass Class1.Issue8665public class Class1.Issue8665\uF12CIssue8665()public Issue8665()Issue8665(int)public Issue8665(int foo)Issue8665(int, char)public Issue8665(int foo, char bar)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 36, + "Text": "36foo int\uF1C5bar char\uF1C5Parametersfoo int\uF1C5bar char\uF1C5baz string\uF1C5PropertiesProperty Valuechar\uF1C5Property Valuestring\uF1C5Issue8665(int, char, string)public Issue8665(int foo, char bar, string baz)Barpublic char Bar { get; }Bazpublic string Baz { get; }", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.char" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.char" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.char" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + } + ] + }, + { + "Number": 37, + "Text": "37Property Valueint\uF1C5Foopublic int Foo { get; }", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + } + ] + }, + { + "Number": 38, + "Text": "38Namespace:BuildFromProjectAssembly:BuildFromProject.dllInheritanceobject\uF1C5 Attribute\uF1C5 Class1.Issue8696AttributeInherited MembersAttribute.Equals(object)\uF1C5 , Attribute.GetCustomAttribute(Assembly, Type)\uF1C5 ,Attribute.GetCustomAttribute(Assembly, Type, bool)\uF1C5 ,Attribute.GetCustomAttribute(MemberInfo, Type)\uF1C5 ,Attribute.GetCustomAttribute(MemberInfo, Type, bool)\uF1C5 ,Attribute.GetCustomAttribute(Module, Type)\uF1C5 , Attribute.GetCustomAttribute(Module, Type, bool)\uF1C5 ,Attribute.GetCustomAttribute(ParameterInfo, Type)\uF1C5 ,Attribute.GetCustomAttribute(ParameterInfo, Type, bool)\uF1C5 , Attribute.GetCustomAttributes(Assembly)\uF1C5 ,Attribute.GetCustomAttributes(Assembly, bool)\uF1C5 , Attribute.GetCustomAttributes(Assembly, Type)\uF1C5 ,Attribute.GetCustomAttributes(Assembly, Type, bool)\uF1C5 , Attribute.GetCustomAttributes(MemberInfo)\uF1C5 ,Attribute.GetCustomAttributes(MemberInfo, bool)\uF1C5 ,Attribute.GetCustomAttributes(MemberInfo, Type)\uF1C5 ,Attribute.GetCustomAttributes(MemberInfo, Type, bool)\uF1C5 , Attribute.GetCustomAttributes(Module)\uF1C5 ,Attribute.GetCustomAttributes(Module, bool)\uF1C5 , Attribute.GetCustomAttributes(Module, Type)\uF1C5 ,Attribute.GetCustomAttributes(Module, Type, bool)\uF1C5 , Attribute.GetCustomAttributes(ParameterInfo)\uF1C5 ,Attribute.GetCustomAttributes(ParameterInfo, bool)\uF1C5 ,Attribute.GetCustomAttributes(ParameterInfo, Type)\uF1C5 ,Attribute.GetCustomAttributes(ParameterInfo, Type, bool)\uF1C5 , Attribute.GetHashCode()\uF1C5 ,Attribute.IsDefaultAttribute()\uF1C5 , Attribute.IsDefined(Assembly, Type)\uF1C5 ,Attribute.IsDefined(Assembly, Type, bool)\uF1C5 , Attribute.IsDefined(MemberInfo, Type)\uF1C5 ,Attribute.IsDefined(MemberInfo, Type, bool)\uF1C5 , Attribute.IsDefined(Module, Type)\uF1C5 ,Attribute.IsDefined(Module, Type, bool)\uF1C5 , Attribute.IsDefined(ParameterInfo, Type)\uF1C5 ,Attribute.IsDefined(ParameterInfo, Type, bool)\uF1C5 , Attribute.Match(object)\uF1C5 , Attribute.TypeId\uF1C5 ,object.Equals(object, object)\uF1C5 , object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 ,object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5ConstructorsClass Class1.Issue8696Attributepublic class Class1.Issue8696Attribute : Attribute\uF12C\uF12C", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.equals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute(system-reflection-assembly-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute(system-reflection-assembly-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute(system-reflection-memberinfo-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute(system-reflection-memberinfo-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute(system-reflection-module-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute(system-reflection-module-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute(system-reflection-parameterinfo-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattribute#system-attribute-getcustomattribute(system-reflection-parameterinfo-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-assembly)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-assembly-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-assembly-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-assembly-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-memberinfo)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-memberinfo-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-memberinfo-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-memberinfo-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-module)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-module-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-module-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-module-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-parameterinfo)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-parameterinfo-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-parameterinfo-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.getcustomattributes#system-attribute-getcustomattributes(system-reflection-parameterinfo-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.isdefaultattribute" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined(system-reflection-assembly-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined(system-reflection-assembly-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined(system-reflection-memberinfo-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined(system-reflection-memberinfo-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined(system-reflection-module-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined(system-reflection-module-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined(system-reflection-parameterinfo-system-type)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.isdefined#system-attribute-isdefined(system-reflection-parameterinfo-system-type-system-boolean)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.match" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.attribute.typeid" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 39, + "Text": "39Parametersdescription string\uF1C5boundsMin int\uF1C5boundsMax int\uF1C5validGameModes string\uF1C5[]hasMultipleSelections bool\uF1C5enumType Type\uF1C5Issue8696Attribute(string?, int, int, string[]?, bool, Type?)[Class1.Issue8696(\"Changes the name of the server in the server list\", 0, 0, null, false, null)public Issue8696Attribute(string? description = null, int boundsMin = 0, int boundsMax = 0, str", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.type" + } + ] + }, + { + "Number": 40, + "Text": "40Namespace:BuildFromProjectAssembly:BuildFromProject.dllInheritanceobject\uF1C5 Class1.Issue8948ImplementsClass1.IIssue8948Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5MethodsDoes nothing with generic type T.Type ParametersTA generic type.Class Class1.Issue8948public class Class1.Issue8948 : Class1.IIssue8948\uF12CDoNothing()public void DoNothing()", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 29, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 34, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 41, + "Text": "41Namespace:BuildFromProjectAssembly:BuildFromProject.dllFieldsValue = 0This is a regular enum value.[Obsolete] OldAndUnusedValue = 1This is old and unused. You shouldn't use it anymore.[Obsolete(\"Use Value\")] OldAndUnusedValue2 = 2This is old and unused. You shouldn't use it anymore.Enum Class1.Issue9260public enum Class1.Issue9260", + "Links": [ + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 42, + "Text": "42Namespace:BuildFromProjectAssembly:BuildFromProject.dllType ParametersTInheritanceobject\uF1C5 Class1.TestInherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5Class Class1.Testpublic class Class1.Test\uF12C", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 43, + "Text": "43Namespace:BuildFromProjectAssembly:BuildFromProject.dllMethodsThis method should do something...Interface IInheritdocpublic interface IInheritdocIssue7629()void Issue7629()", + "Links": [ + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 44, + "Text": "44Namespace:BuildFromProjectAssembly:BuildFromProject.dllInheritanceobject\uF1C5 InheritdocImplementsIInheritdoc, IDisposable\uF1C5Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5MethodsPerforms application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.This method should do something...This method should do something...Class Inheritdocpublic class Inheritdoc : IInheritdoc, IDisposable\uF12CDispose()public void Dispose()Issue7628()public void Issue7628()Issue7629()", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.idisposable" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 43, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 45, + "Text": "45public void Issue7629()", + "Links": [] + }, + { + "Number": 46, + "Text": "46Namespace:BuildFromProjectAssembly:BuildFromProject.dllInheritanceobject\uF1C5 Inheritdoc.Issue6366Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5Class Inheritdoc.Issue6366public class Inheritdoc.Issue6366\uF12C", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 47, + "Text": "47Namespace:BuildFromProjectAssembly:BuildFromProject.dllType ParametersTInheritanceobject\uF1C5 Inheritdoc.Issue6366.Class1DerivedInheritdoc.Issue6366.Class2Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5MethodsThis text inherited.Parametersparm1 TThis text NOT inherited.parm2 int\uF1C5This text inherited.Class Inheritdoc.Issue6366.Class1public abstract class Inheritdoc.Issue6366.Class1\uF12CTestMethod1(T, int)public abstract T TestMethod1(T parm1, int parm2)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 49, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 48, + "Text": "48ReturnsTThis text inherited.", + "Links": [] + }, + { + "Number": 49, + "Text": "49Namespace:BuildFromProjectAssembly:BuildFromProject.dllInheritanceobject\uF1C5 Inheritdoc.Issue6366.Class1 Inheritdoc.Issue6366.Class2Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5MethodsThis text inherited.Parametersparm1 bool\uF1C5This text NOT inherited.parm2 int\uF1C5This text inherited.Returnsbool\uF1C5This text inherited.Class Inheritdoc.Issue6366.Class2public class Inheritdoc.Issue6366.Class2 : Inheritdoc.Issue6366.Class1\uF12C\uF12CTestMethod1(bool, int)public override bool TestMethod1(bool parm1, int parm2)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 44, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 46, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 47, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 50, + "Text": "50Namespace:BuildFromProjectAssembly:BuildFromProject.dllInheritanceobject\uF1C5 Inheritdoc.Issue7035Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5MethodsClass Inheritdoc.Issue7035public class Inheritdoc.Issue7035\uF12CA()public void A()B()public void B()", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 51, + "Text": "51Namespace:BuildFromProjectAssembly:BuildFromProject.dllThis is a test class to have something for DocFX to document.Inheritanceobject\uF1C5 Inheritdoc.Issue7484Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5RemarksWe're going to talk about things now.BoolReturningMethod(bool)Simple method to generate docs for.DoDadA string that could have something.ConstructorsThis is a constructor to document.PropertiesA string that could have something.Class Inheritdoc.Issue7484public class Inheritdoc.Issue7484\uF12CIssue7484()public Issue7484()DoDad", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 52, + "Coordinates": { + "Left": 29.000002, + "Top": 583.75 + } + } + }, + { + "Goto": { + "PageNumber": 51, + "Coordinates": { + "Left": 29.000002, + "Top": 79 + } + } + } + ] + }, + { + "Number": 52, + "Text": "52Property Valuestring\uF1C5MethodsSimple method to generate docs for.Parameterssource bool\uF1C5A meaningless boolean value, much like most questions in the world.Returnsbool\uF1C5An exactly equivalently meaningless boolean value, much like most answers in the world.RemarksI'd like to take a moment to thank all of those who helped me get to a place where I can writedocumentation like this.public string DoDad { get; }BoolReturningMethod(bool)public bool BoolReturningMethod(bool source)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + } + ] + }, + { + "Number": 53, + "Text": "53Namespace:BuildFromProjectAssembly:BuildFromProject.dllInheritanceobject\uF1C5 Inheritdoc.Issue8101Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5MethodsCreate a new tween.Parametersfrom int\uF1C5The starting value.to int\uF1C5The end value.duration float\uF1C5Total tween duration in seconds.onChange Action\uF1C5A callback that will be invoked every time the tween value changes.Class Inheritdoc.Issue8101public class Inheritdoc.Issue8101\uF12CTween(int, int, float, Action)public static object Tween(int from, int to, float duration, Action onChange)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.single" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.action-1" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 54, + "Text": "54Returnsobject\uF1C5The newly created tween instance.Create a new tween.Parametersfrom float\uF1C5The starting value.to float\uF1C5The end value.duration float\uF1C5Total tween duration in seconds.onChange Action\uF1C5A callback that will be invoked every time the tween value changes.Returnsobject\uF1C5The newly created tween instance.Tween(float, float, float, Action)public static object Tween(float from, float to, float duration, Action onChange)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.single" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.single" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.single" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.action-1" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.single" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + } + ] + }, + { + "Number": 55, + "Text": "55Namespace:BuildFromProjectAssembly:BuildFromProject.dllInherited MembersValueType.Equals(object)\uF1C5 , ValueType.GetHashCode()\uF1C5 , ValueType.ToString()\uF1C5 ,object.Equals(object, object)\uF1C5 , object.GetType()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5ConstructorsParametersfoo string\uF1C5Struct Inheritdoc.Issue8129public struct Inheritdoc.Issue8129Issue8129(string)public Issue8129(string foo)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.valuetype.equals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.valuetype.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.valuetype.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Goto": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 56, + "Text": "56ClassesBaseClass1This is the BaseClassClass1This is summary from vb class...Namespace BuildFromVBSourceCode", + "Links": [ + { + "Goto": { + "PageNumber": 57, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 58, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 57, + "Text": "57Namespace:BuildFromVBSourceCodeThis is the BaseClassInheritanceobject\uF1C5 BaseClass1DerivedClass1Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.Finalize()\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5MethodsParameterskeyword Class1ReturnsDateTime\uF1C5Class BaseClass1public abstract class BaseClass1\uF12CWithDeclarationKeyword(Class1)public abstract DateTime WithDeclarationKeyword(Class1 keyword)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.finalize" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.datetime" + }, + { + "Goto": { + "PageNumber": 56, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 58, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 58, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 58, + "Text": "58Namespace:BuildFromVBSourceCodeThis is summary from vb class...Inheritanceobject\uF1C5 BaseClass1 Class1Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.Finalize()\uF1C5 , object.GetHashCode()\uF1C5 ,object.GetType()\uF1C5 , object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 ,object.ToString()\uF1C5FieldsThis is a Value typeField ValueClass1PropertiesProperty ValueClass Class1public class Class1 : BaseClass1\uF12C\uF12CValueClasspublic Class1 ValueClassKeyword[Obsolete(\"This member is obsolete.\", true)]public Class1 Keyword { get; }", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.finalize" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 56, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 57, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 58, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 59, + "Text": "59Class1MethodsThis is a FunctionParametersname string\uF1C5Name as the String valueReturnsint\uF1C5Returns AhoooWhat is Sub?Parameterskeyword Class1ReturnsDateTime\uF1C5Value(string)public int Value(string name)WithDeclarationKeyword(Class1)public override DateTime WithDeclarationKeyword(Class1 keyword)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.datetime" + }, + { + "Goto": { + "PageNumber": 58, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 58, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 60, + "Text": "60NamespacesCatLibrary.CoreClassesCatExceptionCatHere's main class of this Demo.You can see mostly type of article within this class and you for more detail, please see the remarks.this class is a template class. It has two Generic parameter. they are: T and K.The extension method of this class can refer to ICatExtension classComplexICatExtensionIt's the class that contains ICat interface's extension method.This class must be public and static.Also it shouldn't be a geneic classTomTom class is only inherit from Object. Not any member inside itself.TomFromBaseClassTomFromBaseClass inherits from @InterfacesIAnimalThis is basic interface of all animal.ICatCat's interfaceDelegatesFakeDelegateFake delegateNamespace CatLibrary", + "Links": [ + { + "Goto": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 71, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 72, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 87, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 81, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 87, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 91, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 93, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 83, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 86, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 82, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 61, + "Text": "61MRefDelegateGeneric delegate with many constrains.MRefNormalDelegateDelegate in the namespace", + "Links": [ + { + "Goto": { + "PageNumber": 89, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 90, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 62, + "Text": "62ClassesContainersRefType.ContainersRefTypeChildExplicitLayoutClassIssue231StructsContainersRefTypeStruct ContainersRefTypeInterfacesContainersRefType.ContainersRefTypeChildInterfaceEnumsContainersRefType.ColorTypeEnumeration ColorTypeDelegatesContainersRefType.ContainersRefTypeDelegateDelegate ContainersRefTypeDelegateNamespace CatLibrary.Core", + "Links": [ + { + "Goto": { + "PageNumber": 66, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 69, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 70, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 63, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 67, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 65, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 68, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 63, + "Text": "63Namespace:CatLibrary.CoreAssembly:CatLibrary.Core.dllStruct ContainersRefTypeInherited MembersValueType.Equals(object)\uF1C5 , ValueType.GetHashCode()\uF1C5 , ValueType.ToString()\uF1C5 ,object.Equals(object, object)\uF1C5 , object.GetType()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5Extension MethodsIssue231.Bar(ContainersRefType) , Issue231.Foo(ContainersRefType)FieldsColorCountField Valuelong\uF1C5PropertiesGetColorCountStruct ContainersRefTypepublic struct ContainersRefTypeColorCountpublic long ColorCountGetColorCountpublic long GetColorCount { get; }", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.valuetype.equals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.valuetype.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.valuetype.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int64" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 70, + "Coordinates": { + "Left": 29.000002, + "Top": 428.49997 + } + } + }, + { + "Goto": { + "PageNumber": 70, + "Coordinates": { + "Left": 29.000002, + "Top": 253 + } + } + } + ] + }, + { + "Number": 64, + "Text": "64Property Valuelong\uF1C5MethodsContainersRefTypeNonRefMethodarrayParametersparmsArray object\uF1C5[]Returnsint\uF1C5EventsEvent TypeEventHandler\uF1C5ContainersRefTypeNonRefMethod(params object[])public static int ContainersRefTypeNonRefMethod(params object[] parmsArray)ContainersRefTypeEventHandlerpublic event EventHandler ContainersRefTypeEventHandler", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int64" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.eventhandler" + } + ] + }, + { + "Number": 65, + "Text": "65Namespace:CatLibrary.CoreAssembly:CatLibrary.Core.dllEnumeration ColorTypeFieldsRed = 0redBlue = 1blueYellow = 2yellowEnum ContainersRefType.ColorTypepublic enum ContainersRefType.ColorType", + "Links": [ + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 66, + "Text": "66Namespace:CatLibrary.CoreAssembly:CatLibrary.Core.dllInheritanceobject\uF1C5 ContainersRefType.ContainersRefTypeChildInherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5ClassContainersRefType.ContainersRefTypeChildpublic class ContainersRefType.ContainersRefTypeChild\uF12C", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 67, + "Text": "67Namespace:CatLibrary.CoreAssembly:CatLibrary.Core.dllInterfaceContainersRefType.ContainersRefTypeChildInterfacepublic interface ContainersRefType.ContainersRefTypeChildInterface", + "Links": [ + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 68, + "Text": "68Namespace:CatLibrary.CoreAssembly:CatLibrary.Core.dllDelegate ContainersRefTypeDelegateDelegateContainersRefType.ContainersRefTypeDelegatepublic delegate void ContainersRefType.ContainersRefTypeDelegate()", + "Links": [ + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 69, + "Text": "69Namespace:CatLibrary.CoreAssembly:CatLibrary.Core.dllInheritanceobject\uF1C5 ExplicitLayoutClassInherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5Class ExplicitLayoutClasspublic class ExplicitLayoutClass\uF12C", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 70, + "Text": "70Namespace:CatLibrary.CoreAssembly:CatLibrary.dllInheritanceobject\uF1C5 Issue231Inherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5MethodsParametersc ContainersRefTypeParametersc ContainersRefTypeClass Issue231public static class Issue231\uF12CBar(ContainersRefType)public static void Bar(this ContainersRefType c)Foo(ContainersRefType)public static void Foo(this ContainersRefType c)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 63, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 63, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 71, + "Text": "71Namespace:CatLibraryAssembly:CatLibrary.dllType ParametersTInheritanceobject\uF1C5 Exception\uF1C5 CatExceptionImplementsISerializable\uF1C5Inherited MembersException.GetBaseException()\uF1C5 , Exception.GetObjectData(SerializationInfo, StreamingContext)\uF1C5 ,Exception.GetType()\uF1C5 , Exception.ToString()\uF1C5 , Exception.Data\uF1C5 , Exception.HelpLink\uF1C5 ,Exception.HResult\uF1C5 , Exception.InnerException\uF1C5 , Exception.Message\uF1C5 , Exception.Source\uF1C5 ,Exception.StackTrace\uF1C5 , Exception.TargetSite\uF1C5 , Exception.SerializeObjectState\uF1C5 ,object.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5Class CatExceptionpublic class CatException : Exception, ISerializable\uF12C\uF12C", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.runtime.serialization.iserializable" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.getbaseexception" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.getobjectdata" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.data" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.helplink" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.hresult" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.innerexception" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.message" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.source" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.stacktrace" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.targetsite" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.exception.serializeobjectstate" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 72, + "Text": "72Namespace:CatLibraryAssembly:CatLibrary.dllHere's main class of this Demo.You can see mostly type of article within this class and you for more detail, please see the remarks.this class is a template class. It has two Generic parameter. they are: T and K.The extension method of this class can refer to ICatExtension classThis is a class talking about CAT\uF1C5.NOTE This is a CAT classRefer to IAnimal to see other animals.Type ParametersTThis type should be class and can new instance.KThis type is a struct type, class type can't be used for this parameter.Inheritanceobject\uF1C5 CatImplementsICat, IAnimalInherited Membersobject.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5Class Cat[Serializable][Obsolete]public class Cat : ICat, IAnimal where T : class, new() where K : struct\uF12C", + "Links": [ + { + "Uri": "https://en.wikipedia.org/wiki/Cat" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 87, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 83, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 86, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 83, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 73, + "Text": "73Extension MethodsICatExtension.Play(ICat, ContainersRefType.ColorType) , ICatExtension.Sleep(ICat, long)ExamplesHere's example of how to create an instance of this class. As T is limited with class and K is limited withstruct.As you see, here we bring in pointer so we need to add unsafe keyword.RemarksTHIS is remarks overridden in MARKDWON fileConstructorsDefault constructor.It's a complex constructor. The parameter will have some attributes.ParametersnickName string\uF1C5var a = new Cat(object, int)();int catNumber = new int();unsafe{ a.GetFeetLength(catNumber);}Cat()public Cat()Cat(string, out int, string, bool)public Cat(string nickName, out int age, string realName, bool isHealthy)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Goto": { + "PageNumber": 87, + "Coordinates": { + "Left": 29.000002, + "Top": 338.49997 + } + } + }, + { + "Goto": { + "PageNumber": 88, + "Coordinates": { + "Left": 29.000002, + "Top": 763 + } + } + } + ] + }, + { + "Number": 74, + "Text": "74it's string type.age int\uF1C5It's an out and ref parameter.realName string\uF1C5It's an out paramter.isHealthy bool\uF1C5It's an in parameter.Constructor with one generic parameter.ParametersownType TThis parameter type defined by class.FieldsField with attribute.Field Valuebool\uF1C5Cat(T)public Cat(T ownType)isHealthy[ContextStatic][NonSerialized][Obsolete]public bool isHealthy", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + } + ] + }, + { + "Number": 75, + "Text": "75PropertiesHint cat's age.Property Valueint\uF1C5This is index property of Cat. You can see that the visibility is different between get and set method.Parametersa string\uF1C5Cat's name.Property Valueint\uF1C5Cat's number.EII property.Age[Obsolete]protected int Age { get; set; }this[string]public int this[string a] { protected get; set; }Namepublic string Name { get; }", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + } + ] + }, + { + "Number": 76, + "Text": "76Property Valuestring\uF1C5MethodsIt's an overridden summary in markdown formatThis is overriding methods. You can override parameter descriptions for methods, you can even addexceptions to methods. Check the intermediate obj folder to see the data model of the generatedmethod/class. Override Yaml header should follow the data structure.Parametersdate DateTime\uF1C5This is overridden description for a parameter. id must be specified.ReturnsDictionary\uF1C5>It's overridden description for return. type must be specified.ExceptionsArgumentException\uF1C5This is an overridden argument exception. you can add additional exception by adding differentexception type.Override the method of Object.Equals(object obj).Override CalculateFood Namepublic Dictionary> CalculateFood(DateTime date)Equals(object)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.datetime" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.collections.generic.dictionary-2" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.argumentexception" + } + ] + }, + { + "Number": 77, + "Text": "77Parametersobj object\uF1C5Can pass any class type.Returnsbool\uF1C5The return value tell you whehter the compare operation is successful.It's an unsafe method. As you see, catName is a pointer, so we need to add unsafe keyword.ParameterscatName int\uF1C5*Thie represent for cat name length.parameters object\uF1C5[]Optional parameters.Returnslong\uF1C5Return cat tail's length.This method have attribute above it.public override bool Equals(object obj)GetTailLength(int*, params object[])public long GetTailLength(int* catName, params object[] parameters)Jump(T, K, ref bool)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int64" + } + ] + }, + { + "Number": 78, + "Text": "78ParametersownType TType come from class define.anotherOwnType KType come from class define.cheat bool\uF1C5Hint whether this cat has cheat mode.ExceptionsArgumentException\uF1C5This is an argument exceptionEventsEat event of this catEvent TypeEventHandler\uF1C5Operators[Conditional(\"Debug\")]public void Jump(T ownType, K anotherOwnType, ref bool cheat)ownEat[Obsolete(\"This _event handler_ is deprecated.\")]public event EventHandler ownEatoperator +(Cat, int)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.boolean" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.argumentexception" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.eventhandler" + } + ] + }, + { + "Number": 79, + "Text": "79Addition operator of this class.Parameterslsr Cat..rsr int\uF1C5~~Returnsint\uF1C5Result with int type.Expilicit operator of this class.It means this cat can evolve to change to Tom. Tom and Jerry.Parameterssrc CatInstance of this class.ReturnsTomAdvanced class type of cat.public static int operator +(Cat lsr, int rsr)explicit operator Tom(Cat)public static explicit operator Tom(Cat src)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Goto": { + "PageNumber": 72, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 72, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 91, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 80, + "Text": "80Similar with operaotr +, refer to that topic.Parameterslsr Catrsr int\uF1C5Returnsint\uF1C5operator -(Cat, int)public static int operator -(Cat lsr, int rsr)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Goto": { + "PageNumber": 72, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 81, + "Text": "81Namespace:CatLibraryAssembly:CatLibrary.dllType ParametersTJInheritanceobject\uF1C5 ComplexInherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5Class Complexpublic class Complex\uF12C", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 82, + "Text": "82Namespace:CatLibraryAssembly:CatLibrary.dllFake delegateParametersnum long\uF1C5Fake paraname string\uF1C5Fake parascores object\uF1C5[]Optional Parameter.Returnsint\uF1C5Return a fake number to confuse you.Type ParametersTFake paraDelegate FakeDelegatepublic delegate int FakeDelegate(long num, string name, params object[] scores)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int64" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 83, + "Text": "83Namespace:CatLibraryAssembly:CatLibrary.dllThis is basic interface of all animal.Welcome to the Animal world!RemarksTHIS is remarks overridden in MARKDWON filePropertiesReturn specific number animal's name.Parametersindex int\uF1C5Animal number.Property Valuestring\uF1C5Animal name.Name of Animal.Interface IAnimalpublic interface IAnimalthis[int]string this[int index] { get; }Name", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 84, + "Text": "84Property Valuestring\uF1C5MethodsAnimal's eat method.Feed the animal with some foodParametersfood string\uF1C5Food to eatOverload method of eat. This define the animal eat by which tool.Parameterstool Toolstring Name { get; }Eat()void Eat()Eat(string)void Eat(string food)Eat(Tool)void Eat(Tool tool) where Tool : class", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + } + ] + }, + { + "Number": 85, + "Text": "85Tool name.Type ParametersToolIt's a class type.", + "Links": [] + }, + { + "Number": 86, + "Text": "86Namespace:CatLibraryAssembly:CatLibrary.dllCat's interfaceInherited MembersIAnimal.Name , IAnimal.this[int] , IAnimal.Eat() , IAnimal.Eat(Tool) , IAnimal.Eat(string)Extension MethodsICatExtension.Play(ICat, ContainersRefType.ColorType) , ICatExtension.Sleep(ICat, long)Eventseat event of cat. Every cat must implement this event.Event TypeEventHandler\uF1C5Interface ICatpublic interface ICat : IAnimaleatevent EventHandler eat", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.eventhandler" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 83, + "Coordinates": { + "Left": 29.000002, + "Top": 89.5 + } + } + }, + { + "Goto": { + "PageNumber": 83, + "Coordinates": { + "Left": 29.000002, + "Top": 424.74997 + } + } + }, + { + "Goto": { + "PageNumber": 84, + "Coordinates": { + "Left": 29.000002, + "Top": 583.75 + } + } + }, + { + "Goto": { + "PageNumber": 84, + "Coordinates": { + "Left": 29.000002, + "Top": 213.25 + } + } + }, + { + "Goto": { + "PageNumber": 84, + "Coordinates": { + "Left": 29.000002, + "Top": 448.74997 + } + } + }, + { + "Goto": { + "PageNumber": 87, + "Coordinates": { + "Left": 29.000002, + "Top": 338.49997 + } + } + }, + { + "Goto": { + "PageNumber": 88, + "Coordinates": { + "Left": 29.000002, + "Top": 763 + } + } + } + ] + }, + { + "Number": 87, + "Text": "87Namespace:CatLibraryAssembly:CatLibrary.dllIt's the class that contains ICat interface's extension method.This class must be public and static.Also it shouldn't be a geneic classInheritanceobject\uF1C5 ICatExtensionInherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5MethodsExtension method to let cat playParametersicat ICatCattoy ContainersRefType.ColorTypeSomething to playClass ICatExtensionpublic static class ICatExtension\uF12CPlay(ICat, ColorType)public static void Play(this ICat icat, ContainersRefType.ColorType toy)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 86, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 63, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 65, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 88, + "Text": "88Extension method hint that how long the cat can sleep.Parametersicat ICatThe type will be extended.hours long\uF1C5The length of sleep.Sleep(ICat, long)public static void Sleep(this ICat icat, long hours)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int64" + }, + { + "Goto": { + "PageNumber": 86, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 89, + "Text": "89Namespace:CatLibraryAssembly:CatLibrary.dllGeneric delegate with many constrains.Parametersk KType K.t TType T.l LType L.Type ParametersKGeneric K.TGeneric T.LGeneric L.Delegate MRefDelegatepublic delegate void MRefDelegate(K k, T t, L l) where K : class, IComparable where T ", + "Links": [ + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 90, + "Text": "90Namespace:CatLibraryAssembly:CatLibrary.dllDelegate in the namespaceParameterspics List\uF1C5a name list of pictures.name string\uF1C5give out the needed name.Delegate MRefNormalDelegatepublic delegate void MRefNormalDelegate(List pics, out string name)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 91, + "Text": "91Namespace:CatLibraryAssembly:CatLibrary.dllTom class is only inherit from Object. Not any member inside itself.Inheritanceobject\uF1C5 TomDerivedTomFromBaseClassInherited Membersobject.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5MethodsThis is a Tom Method with complex type as returnParametersa ComplexA complex inputb Tuple\uF1C5Another complex inputClass Tompublic class Tom\uF12CTomMethod(Complex, Tuple)public Complex TomMethod(Complex ", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.tuple-2" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 93, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 81, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 93, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 93, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 91, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 92, + "Text": "92ReturnsComplexComplex TomFromBaseClassExceptionsNotImplementedException\uF1C5This is not implementedArgumentException\uF1C5This is the exception to be thrown when implementedCatExceptionThis is the exception in current documentation", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.string" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.notimplementedexception" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.argumentexception" + }, + { + "Goto": { + "PageNumber": 81, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 93, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 93, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 71, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 93, + "Text": "93Namespace:CatLibraryAssembly:CatLibrary.dllTomFromBaseClass inherits from @Inheritanceobject\uF1C5 Tom TomFromBaseClassInherited MembersTom.TomMethod(Complex, Tuple) ,object.Equals(object)\uF1C5 , object.Equals(object, object)\uF1C5 , object.GetHashCode()\uF1C5 , object.GetType()\uF1C5 ,object.MemberwiseClone()\uF1C5 , object.ReferenceEquals(object, object)\uF1C5 , object.ToString()\uF1C5ConstructorsThis is a #ctor with parameterParametersk int\uF1C5Class TomFromBaseClasspublic class TomFromBaseClass : Tom\uF12C\uF12CTomFromBaseClass(int)public TomFromBaseClass(int k)", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gethashcode" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.gettype" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.referenceequals" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object.tostring" + }, + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.int32" + }, + { + "Goto": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 91, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Goto": { + "PageNumber": 91, + "Coordinates": { + "Left": 29.000002, + "Top": 350.49997 + } + } + } + ] + }, + { + "Number": 94, + "Text": "94EnumsColorTypeEnumeration ColorTypeNamespace MRef.Demo.Enumeration", + "Links": [ + { + "Goto": { + "PageNumber": 95, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 95, + "Text": "95Namespace:MRef.Demo.EnumerationAssembly:CatLibrary.dllEnumeration ColorTypeFieldsRed = 0this color is redBlue = 1blue like riverYellow = 2yellow comes from desertRemarksRed/Blue/Yellow can become all color you want.See Alsoobject\uF1C5Enum ColorTypepublic enum ColorType", + "Links": [ + { + "Uri": "https://learn.microsoft.com/dotnet/api/system.object" + }, + { + "Uri": "" + }, + { + "Uri": "" + }, + { + "Goto": { + "PageNumber": 94, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 96, + "Text": "96Swagger PetstoreDescribe APIs in Pet StorepetDescription for pet tagAddPetAdd a new pet to the storeRequestParametersNameTypeDefaultNotes*bodyPetPet object that needs to be added to the storeResponsesStatus CodeTypeDescriptionSamples405Invalid inputNOTE: Add pet only when you needs.UpdatePetUpdate an existing petRequestParametersPOST /petPUT /pet", + "Links": [ + { + "Goto": { + "PageNumber": 108, + "Coordinates": { + "Left": 29.000002, + "Top": 450.25031 + } + } + } + ] + }, + { + "Number": 97, + "Text": "97NameTypeDefaultNotes*bodyPetPet object that needs to be added to the storeResponsesStatus CodeTypeDescriptionSamples400Invalid ID supplied404Pet not found405Validation exceptionFindPetsByStatusFinds Pets by statusMultiple status values can be provided with comma separated stringsRequestParametersNameTypeDefaultNotes*statusStatus values that need to be considered for filterResponsesStatus CodeTypeDescriptionSamples200Pet[]successful operation400Invalid status valueFindPetsByTagsGET /pet/findByStatus?status", + "Links": [ + { + "Goto": { + "PageNumber": 108, + "Coordinates": { + "Left": 29.000002, + "Top": 450.25031 + } + } + }, + { + "Goto": { + "PageNumber": 108, + "Coordinates": { + "Left": 29.000002, + "Top": 450.25031 + } + } + } + ] + }, + { + "Number": 98, + "Text": "98Finds Pets by tagsMuliple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.RequestParametersNameTypeDefaultNotes*tagsTags to filter byResponsesStatus CodeTypeDescriptionSamples200Pet[]successful operation400Invalid tag valueDeletePetDeletes a petRequestParametersNameTypeDefaultNotesapi_key*petIdPet id to deleteResponsesGET /pet/findByTags?tagsDELETE /pet/{petId}", + "Links": [ + { + "Goto": { + "PageNumber": 108, + "Coordinates": { + "Left": 29.000002, + "Top": 450.25031 + } + } + } + ] + }, + { + "Number": 99, + "Text": "99Status CodeTypeDescriptionSamples400Invalid ID supplied404Pet not foundGetPetByIdFind pet by IDReturns a single petRequestParametersNameTypeDefaultNotes*petIdID of pet to returnResponsesStatus CodeTypeDescriptionSamples200Petsuccessful operation400Invalid ID supplied404Pet not foundUpdatePetWithFormUpdates a pet in the store with form dataRequestGET /pet/{petId}POST /pet/{petId}", + "Links": [ + { + "Goto": { + "PageNumber": 108, + "Coordinates": { + "Left": 29.000002, + "Top": 450.25031 + } + } + } + ] + }, + { + "Number": 100, + "Text": "100ParametersNameTypeDefaultNotes*petIdID of pet that needs to be updatednameUpdated name of the petstatusUpdated status of the petResponsesStatus CodeTypeDescriptionSamples405Invalid inputUploadFileuploads an imageRequestParametersNameTypeDefaultNotes*petIdID of pet to updateadditionalMetadataAdditional data to pass to serverfilefile to uploadResponsesStatus CodeTypeDescriptionSamples200ApiResponsesuccessful operationPOST /pet/{petId}/uploadImage", + "Links": [ + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 629.50031 + } + } + } + ] + }, + { + "Number": 101, + "Text": "101storeAccess to Petstore ordersAdditional description for store tagAddPetAdd a new pet to the storeRequestParametersNameTypeDefaultNotes*bodyPetPet object that needs to be added to the storeResponsesStatus CodeTypeDescriptionSamples405Invalid inputNOTE: Add pet only when you needs.GetInventoryReturns pet inventories by statusReturns a map of status codes to quantitiesRequestResponsesPOST /petGET /store/inventory", + "Links": [ + { + "Goto": { + "PageNumber": 108, + "Coordinates": { + "Left": 29.000002, + "Top": 450.25031 + } + } + } + ] + }, + { + "Number": 102, + "Text": "102Status CodeTypeDescriptionSamples200objectsuccessful operationPlaceOrderPlace an order for a petRequestParametersNameTypeDefaultNotes*bodyOrderorder placed for purchasing the petResponsesStatus CodeTypeDescriptionSamples200Ordersuccessful operation400Invalid OrderDeleteOrderDelete purchase order by IDFor valid response try integer IDs with positive integer value. Negative or non-integer values willgenerate API errorsRequestParametersPOST /store/orderDELETE /store/order/{orderId}", + "Links": [ + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 465.25031 + } + } + }, + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 465.25031 + } + } + } + ] + }, + { + "Number": 103, + "Text": "103NameTypeDefaultNotes*orderIdID of the order that needs to be deletedResponsesStatus CodeTypeDescriptionSamples400Invalid ID supplied404Order not foundGetOrderByIdFind purchase order by IDFor valid response try integer IDs with value >= 1 and <= 10. Other values will generated exceptionsRequestParametersNameTypeDefaultNotes*orderIdID of pet that needs to be fetchedResponsesStatus CodeTypeDescriptionSamples200Ordersuccessful operation400Invalid ID supplied404Order not founduserGET /store/order/{orderId}", + "Links": [ + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 465.25031 + } + } + } + ] + }, + { + "Number": 104, + "Text": "104Operations about userCreateUserCreate userThis can only be done by the logged in user.RequestParametersNameTypeDefaultNotes*bodyUserCreated user objectResponsesStatus CodeTypeDescriptionSamplesdefaultsuccessful operationCreateUsersWithArrayInputCreates list of users with given input arrayRequestParametersNameTypeDefaultNotes*bodyUser[]List of user objectResponsesStatus CodeTypeDescriptionSamplesdefaultsuccessful operationPOST /userPOST /user/createWithArray", + "Links": [ + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 196.75031 + } + } + }, + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 196.75031 + } + } + } + ] + }, + { + "Number": 105, + "Text": "105Status CodeTypeDescriptionSamplesCreateUsersWithListInputCreates list of users with given input arrayRequestParametersNameTypeDefaultNotes*bodyUser[]List of user objectResponsesStatus CodeTypeDescriptionSamplesdefaultsuccessful operationLoginUserLogs user into the systemRequestParametersNameTypeDefaultNotes*usernameThe user name for login*passwordThe password for login in clear textResponsesPOST /user/createWithListGET /user/login?username&password", + "Links": [ + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 196.75031 + } + } + } + ] + }, + { + "Number": 106, + "Text": "106Status CodeTypeDescriptionSamples200stringsuccessful operation400Invalid username/password suppliedLogoutUserLogs out current logged in user sessionRequestResponsesStatus CodeTypeDescriptionSamplesdefaultsuccessful operationDeleteUserDelete userThis can only be done by the logged in user.RequestParametersNameTypeDefaultNotes*usernameThe name that needs to be deletedResponsesStatus CodeTypeDescriptionSamples400Invalid username suppliedGET /user/logoutDELETE /user/{username}", + "Links": [] + }, + { + "Number": 107, + "Text": "107Status CodeTypeDescriptionSamples404User not foundGetUserByNameGet user by user nameRequestParametersNameTypeDefaultNotes*usernameThe name that needs to be fetched. Use user1 for testing.ResponsesStatus CodeTypeDescriptionSamples200Usersuccessful operation400Invalid username supplied404User not foundOther APIsUpdateUserUpdated userThis can only be done by the logged in user.RequestParametersGET /user/{username}PUT /user/{username}", + "Links": [ + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 196.75031 + } + } + } + ] + }, + { + "Number": 108, + "Text": "108NameTypeDefaultNotes*usernamename that need to be updated*bodyUserUpdated user objectResponsesStatus CodeTypeDescriptionSamples400Invalid user supplied404User not foundDefinitionsPetNameTypeNotescategoryCategory[]idinteger (int64)namestringphotoUrlsarraystatusstringpet status in the storetagsTag[]CategoryNameTypeNotesidinteger (int64)namestring", + "Links": [ + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 196.75031 + } + } + }, + { + "Goto": { + "PageNumber": 108, + "Coordinates": { + "Left": 29.000002, + "Top": 181.75031 + } + } + }, + { + "Goto": { + "PageNumber": 109, + "Coordinates": { + "Left": 29.000002, + "Top": 763.00031 + } + } + } + ] + }, + { + "Number": 109, + "Text": "109TagNameTypeNotesidinteger (int64)namestringApiResponseNameTypeNotescodeinteger (int32)messagestringtypestringOrderNameTypeNotescompletebooleanidinteger (int64)petIdinteger (int64)quantityinteger (int32)shipDatestring (date-time)statusstringOrder StatusUserNameTypeNotesemailstringfirstNamestringidinteger (int64)", + "Links": [] + }, + { + "Number": 110, + "Text": "110NameTypeNoteslastNamestringpasswordstringphonestringuserStatusinteger (int32)User StatususernamestringSee AlsosSee other REST APIs:Contacts API", + "Links": [ + { + "Goto": { + "PageNumber": 111, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] + }, + { + "Number": 111, + "Text": "111ContactsGet ContactsYou can get a collection of contacts from your tenant.Required scope: Contacts.Read or Contacts.WriteRequestParametersNameTypeDefaultNotes*api-version1.6The version of the Graph API to target. Beginning with version 1.5, theapi-version string is represented in major.minor format. Prior releaseswere represented as date strings: '2013-11-08' and '2013-04-05'.Required.ResponsesStatusCodeTypeDescriptionSamples200OK.Indicatessuccess. Theresults arereturned intheresponsebody.Mime type: application/jsonGet Contact By IdGet a contact by using the object ID.Required scope: Contacts.Read or Contacts.WriteGET /contacts?api-version{ \"odata.metadata\": \"https://graph.windows.net/myorganization/$me \"value\": [ { \"odata.type\": \"Microsoft.DirectoryServices.Contact\", \"objectType\": \"Contact\", \"objectId\": \"31944231-fd52-4a7f-b32e-7902a01fddf9\", \"deletionTimestamp\": null, \"city\": null,", + "Links": [] + }, + { + "Number": 112, + "Text": "112RequestParametersNameTypeDefaultNotes*object_id31944231-fd52-4a7f-b32e-7902a01fddf9The object ID (GUID) of the target contact.*api-version1.6Specifies the version of the Graph API to target. Beginningwith version 1.5, the api-version string is represented inmajor.minor format. Prior releases were represented asdate strings: '2013-11-08' and '2013-04-05'. Required.ResponsesStatusCodeTypeDescriptionSamples200OK.Indicatessuccess. Thecontact isreturned intheresponsebody.Mime type: application/jsonUpdate ContactChange a contact's properties.Required scope: Contacts.WriteRequestGET /contacts/{object_id}?api-version{ \"odata.metadata\": \"https://graph.windows.net/graphdir1.onmicros \"odata.type\": \"Microsoft.DirectoryServices.Contact\", \"objectType\": \"Contact\", \"objectId\": \"31944231-fd52-4a7f-b32e-7902a01fddf9\", \"deletionTimestamp\": null, \"city\": null, \"companyName\": null, \"country\": null,PATCH /contacts/{object_id}?api-version", + "Links": [] + }, + { + "Number": 113, + "Text": "113ParametersNameTypeDefaultNotes*object_id7163f3b8-70c9-43d2-b9e1-4467ddaf087aThe object ID (GUID) of the target contact.*api-version1.6The version of the Graph API to target. Beginning withversion 1.5, the api-version string is represented inmajor.minor format. Prior releases were represented asdate strings: '2013-11-08' and '2013-04-05'. Required.bodyparamcontactthis is request body, not real parameterResponsesStatus CodeTypeDescriptionSamples204No Content. Indicates success. No response body is returned.Delete ContactDelete a contact.Required scope: Contacts.WriteRequestParametersNameTypeDefaultNotes*object_id7163f3b8-70c9-43d2-b9e1-4467ddaf087aThe object ID (GUID) of the target contact.api-version1.6Specifies the version of the Graph API to target. Beginningwith version 1.5, the api-version string is represented inDELETE /contacts/{object_id}[?api-version]", + "Links": [ + { + "Goto": { + "PageNumber": 119, + "Coordinates": { + "Left": 29.000002, + "Top": 465.99985 + } + } + } + ] + }, + { + "Number": 114, + "Text": "114NameTypeDefaultNotesmajor.minor format. Prior releases were represented asdate strings: '2013-11-08' and '2013-04-05'. Required.ResponsesStatus CodeTypeDescriptionSamples204No Content. Indicates success.Get Contact Manager LinkGet a link to the contact's manager.Required scope: Contacts.Read or Contacts.WriteRequestParametersNameTypeDefaultNotes*object_id31944231-fd52-4a7f-b32e-7902a01fddf9The object ID (GUID) of the target contact.*api-version1.6The version of the Graph API to target. Beginning withversion 1.5, the api-version string is represented inmajor.minor format. Prior releases were represented asdate strings: '2013-11-08' and '2013-04-05'. Required.ResponsesStatusCodeTypeDescriptionSamples200OK.Indicatessuccess. AMime type: application/jsonGET /contacts/{object_id}/$links/manager?api-version", + "Links": [] + }, + { + "Number": 115, + "Text": "115StatusCodeTypeDescriptionSampleslink to thecontact'smanager isreturned.404Not Found.Therequestedresourcewas notfound. Thiscan occur ifthemanagerproperty isnotcurrentlyset for thespecifiedcontact. Itcan alsohave othercauses, forexample, abaddomain. Acode andassociatedmessage isreturnedwith theerror.Mime type: application/jsonUpdate Contact ManagerUpdate the contact's manager{ \"odata.metadata\": \"https://graph.windows.net/myorganization/$me \"url\": \"https://graph.windows.net/myorganization/directoryObjec}{ \"odata.error\": { \"code\": \"Request_ResourceNotFound\", \"message\": { \"lang\": \"en\", \"value\": \"Resource not found for the segment 'manager'.\" } }}", + "Links": [] + }, + { + "Number": 116, + "Text": "116Required scope: Contacts.WriteRequestParametersNameTypeDefaultNotes*object_id31944231-fd52-4a7f-b32e-7902a01fddf9The object ID (GUID) of the target contact.*api-version1.6The version of the Graph API to target. Beginning withversion 1.5, the api-version string is represented inmajor.minor format. Prior releases were represented asdate strings: '2013-11-08' and '2013-04-05'. Required.*bodyparamThe request body contains a single property thatspecifies the URL of the user or contact to add asmanager.ResponsesStatus CodeTypeDescriptionSamples204No Content. Indicates success. No response body is returned.Delete Contact Manager By IdDelete the contact's manager.Required scope: Contacts.WriteRequestParametersPUT /contacts/{object_id}/$links/manager?api-versionDELETE /contacts/{object_id}/$links/manager?api-version", + "Links": [] + }, + { + "Number": 117, + "Text": "117NameTypeDefaultNotes*object_id31944231-fd52-4a7f-b32e-7902a01fddf9The object ID (GUID) of the target contact.*api-version1.6The version of the Graph API to target. Beginning withversion 1.5, the api-version string is represented inmajor.minor format. Prior releases were represented asdate strings: '2013-11-08' and '2013-04-05'. Required.ResponsesStatus CodeTypeDescriptionSamples204No Content. Indicates success. N response body is returned.Get Contact Direct Reports LinksGet a links to the contact's direct reports.Required scope: Contacts.Read or Contacts.WriteRequestParametersNameTypeDefaultNotes*object_id31944231-fd52-4a7f-b32e-7902a01fddf9The object ID (GUID) of the target contact.*api-version1.6The version of the Graph API to target. Beginning withversion 1.5, the api-version string is represented inmajor.minor format. Prior releases were represented asdate strings: '2013-11-08' and '2013-04-05'. Required.ResponsesGET /contacts/{object_id}/$links/directReports?api-version", + "Links": [] + }, + { + "Number": 118, + "Text": "118StatusCodeTypeDescriptionSamples200OK.Indicatessuccess.One ormore directreports arereturned.Mime type: application/jsonGet Contact MemberOf LinksGet a links to the contact's direct group and directory role memberships.Required scope: Contacts.Read or Contacts.WriteRequestParametersNameTypeDefaultNotes*object_id31944231-fd52-4a7f-b32e-7902a01fddf9The object ID (GUID) of the target contact.*api-version1.6The version of the Graph API to target. Beginning withversion 1.5, the api-version string is represented inmajor.minor format. Prior releases were represented asdate strings: '2013-11-08' and '2013-04-05'. Required.Responses{ \"odata.metadata\": \"https://graph.windows.net/myorganization/$me \"value\": [ { \"url\": \"https://graph.windows.net/myorganization/directoryO } ]}GET /contacts/{object_id}/$links/memberOf?api-version", + "Links": [] + }, + { + "Number": 119, + "Text": "119StatusCodeTypeDescriptionSamples200OK.Indicatessuccess.One ormoregroupsand/ordirectoryroles arereturned.Mime type: application/jsonDefinitionsContactNameTypeNotesobjectTypestringobjectIdstringdeletionTimestampstring (date-time)citystringcountrystringdepartmentstringdirSyncEnabledbooleandisplayNamestringfacsimileTelephoneNumberstringgivenNamestringjobTitlestringlastDirSyncTimestring (date-time){ \"odata.metadata\": \"https://graph.windows.net/myorganization/$me \"value\": [ { \"url\": \"https://graph.windows.net/myorganization/directoryO } ]}", + "Links": [] + }, + { + "Number": 120, + "Text": "120NameTypeNotesmailstringmailNicknamestringmobilestringphysicalDeliveryOfficeNamestringpostalCodestringprovisioningErrorsProvisioningError[]proxyAddressesarraysipProxyAddressstringstatestringstreetAddressstringsurnamestringtelephoneNumberstringthumbnailPhotostringProvisioningErrorNameTypeNoteserrorDetailstringresolvedbooleanserviceInstancestringtimestampstring (date-time)", + "Links": [ + { + "Goto": { + "PageNumber": 120, + "Coordinates": { + "Left": 29.000002, + "Top": 319.74985 + } + } + } + ] + } + ], + "Bookmarks": [ + { + "Title": "Articles", + "Children": [ + { + "Title": "Getting Started", + "Children": [], + "Destination": { + "PageNumber": 3, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Engineering Docs", + "Children": [ + { + "Title": "Section 1", + "Children": [], + "Destination": { + "PageNumber": 5, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Engineering Guidelines", + "Children": [], + "Destination": { + "PageNumber": 5, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "CSharp Coding Standards", + "Children": [], + "Destination": { + "PageNumber": 8, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 5, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Markdown", + "Children": [], + "Destination": { + "PageNumber": 14, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Microsoft Docs", + "Children": [], + "Uri": "https://docs.microsoft.com/en-us/" + } + ], + "Destination": { + "PageNumber": 3, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "API Documentation", + "Children": [ + { + "Title": "BuildFromAssembly", + "Children": [ + { + "Title": "Class1", + "Children": [], + "Destination": { + "PageNumber": 20, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 19, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "BuildFromCSharpSourceCode", + "Children": [ + { + "Title": "CSharp", + "Children": [], + "Destination": { + "PageNumber": 22, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 21, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "BuildFromProject", + "Children": [ + { + "Title": "Issue8540", + "Children": [ + { + "Title": "A", + "Children": [ + { + "Title": "A", + "Children": [], + "Destination": { + "PageNumber": 26, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 25, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "B", + "Children": [ + { + "Title": "B", + "Children": [], + "Destination": { + "PageNumber": 28, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 27, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 24, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Class1", + "Children": [], + "Destination": { + "PageNumber": 29, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Class1.IIssue8948", + "Children": [], + "Destination": { + "PageNumber": 34, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Class1.Issue8665", + "Children": [], + "Destination": { + "PageNumber": 35, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Class1.Issue8696Attribute", + "Children": [], + "Destination": { + "PageNumber": 38, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Class1.Issue8948", + "Children": [], + "Destination": { + "PageNumber": 40, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Class1.Issue9260", + "Children": [], + "Destination": { + "PageNumber": 41, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Class1.Test", + "Children": [], + "Destination": { + "PageNumber": 42, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "IInheritdoc", + "Children": [], + "Destination": { + "PageNumber": 43, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Inheritdoc", + "Children": [], + "Destination": { + "PageNumber": 44, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Inheritdoc.Issue6366", + "Children": [], + "Destination": { + "PageNumber": 46, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Inheritdoc.Issue6366.Class1", + "Children": [], + "Destination": { + "PageNumber": 47, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Inheritdoc.Issue6366.Class2", + "Children": [], + "Destination": { + "PageNumber": 49, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Inheritdoc.Issue7035", + "Children": [], + "Destination": { + "PageNumber": 50, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Inheritdoc.Issue7484", + "Children": [], + "Destination": { + "PageNumber": 51, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Inheritdoc.Issue8101", + "Children": [], + "Destination": { + "PageNumber": 53, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Inheritdoc.Issue8129", + "Children": [], + "Destination": { + "PageNumber": 55, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 23, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "BuildFromVBSourceCode", + "Children": [ + { + "Title": "BaseClass1", + "Children": [], + "Destination": { + "PageNumber": 57, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Class1", + "Children": [], + "Destination": { + "PageNumber": 58, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 56, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "CatLibrary", + "Children": [ + { + "Title": "Core", + "Children": [ + { + "Title": "ContainersRefType", + "Children": [], + "Destination": { + "PageNumber": 63, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "ContainersRefType.ColorType", + "Children": [], + "Destination": { + "PageNumber": 65, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "ContainersRefType.ContainersRefTypeChild", + "Children": [], + "Destination": { + "PageNumber": 66, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "ContainersRefType.ContainersRefTypeChildInterface", + "Children": [], + "Destination": { + "PageNumber": 67, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "ContainersRefType.ContainersRefTypeDelegate", + "Children": [], + "Destination": { + "PageNumber": 68, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "ExplicitLayoutClass", + "Children": [], + "Destination": { + "PageNumber": 69, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Issue231", + "Children": [], + "Destination": { + "PageNumber": 70, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 62, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "CatException", + "Children": [], + "Destination": { + "PageNumber": 71, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Cat", + "Children": [], + "Destination": { + "PageNumber": 72, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Complex", + "Children": [], + "Destination": { + "PageNumber": 81, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "FakeDelegate", + "Children": [], + "Destination": { + "PageNumber": 82, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "IAnimal", + "Children": [], + "Destination": { + "PageNumber": 83, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "ICat", + "Children": [], + "Destination": { + "PageNumber": 86, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "ICatExtension", + "Children": [], + "Destination": { + "PageNumber": 87, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "MRefDelegate", + "Children": [], + "Destination": { + "PageNumber": 89, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "MRefNormalDelegate", + "Children": [], + "Destination": { + "PageNumber": 90, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Tom", + "Children": [], + "Destination": { + "PageNumber": 91, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "TomFromBaseClass", + "Children": [], + "Destination": { + "PageNumber": 93, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 60, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "MRef.Demo.Enumeration", + "Children": [ + { + "Title": "ColorType", + "Children": [], + "Destination": { + "PageNumber": 95, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 94, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 19, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "REST API", + "Children": [ + { + "Title": "Pet Store API", + "Children": [], + "Destination": { + "PageNumber": 96, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + }, + { + "Title": "Contacts API", + "Children": [], + "Destination": { + "PageNumber": 111, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ], + "Destination": { + "PageNumber": 96, + "Type": 2, + "Coordinates": { + "Top": 0 + } + } + } + ] +} \ No newline at end of file diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/toc.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/toc.verified.json new file mode 100644 index 00000000000..71bca292be5 --- /dev/null +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/pdf/toc.verified.json @@ -0,0 +1,402 @@ +{ + "order": 200, + "items": [ + { + "name": "Articles", + "includedFrom": "~/articles/toc.yml", + "items": [ + { + "name": "Getting Started", + "href": "../articles/docfx_getting_started.html", + "topicHref": "../articles/docfx_getting_started.html" + }, + { + "name": "Engineering Docs", + "items": [ + { + "name": "Section 1" + }, + { + "name": "Engineering Guidelines", + "href": "../articles/engineering_guidelines.html", + "topicHref": "../articles/engineering_guidelines.html" + }, + { + "name": "CSharp Coding Standards", + "href": "../articles/csharp_coding_standards.html", + "topicHref": "../articles/csharp_coding_standards.html" + } + ], + "expanded": true + }, + { + "name": "Markdown", + "href": "../articles/markdown.html", + "topicHref": "../articles/markdown.html" + }, + { + "name": "Microsoft Docs", + "href": "https://docs.microsoft.com/en-us/", + "topicHref": "https://docs.microsoft.com/en-us/" + } + ] + }, + { + "name": "API Documentation", + "includedFrom": "~/obj/api/toc.yml", + "items": [ + { + "name": "BuildFromAssembly", + "href": "../api/BuildFromAssembly.html", + "topicHref": "../api/BuildFromAssembly.html", + "topicUid": "BuildFromAssembly", + "items": [ + { + "name": "Class1", + "href": "../api/BuildFromAssembly.Class1.html", + "topicHref": "../api/BuildFromAssembly.Class1.html", + "topicUid": "BuildFromAssembly.Class1" + } + ] + }, + { + "name": "BuildFromCSharpSourceCode", + "href": "../api/BuildFromCSharpSourceCode.html", + "topicHref": "../api/BuildFromCSharpSourceCode.html", + "topicUid": "BuildFromCSharpSourceCode", + "items": [ + { + "name": "CSharp", + "href": "../api/BuildFromCSharpSourceCode.CSharp.html", + "topicHref": "../api/BuildFromCSharpSourceCode.CSharp.html", + "topicUid": "BuildFromCSharpSourceCode.CSharp" + } + ] + }, + { + "name": "BuildFromProject", + "href": "../api/BuildFromProject.html", + "topicHref": "../api/BuildFromProject.html", + "topicUid": "BuildFromProject", + "items": [ + { + "name": "Issue8540", + "href": "../api/BuildFromProject.Issue8540.html", + "topicHref": "../api/BuildFromProject.Issue8540.html", + "topicUid": "BuildFromProject.Issue8540", + "items": [ + { + "name": "A", + "href": "../api/BuildFromProject.Issue8540.A.html", + "topicHref": "../api/BuildFromProject.Issue8540.A.html", + "topicUid": "BuildFromProject.Issue8540.A", + "items": [ + { + "name": "A", + "href": "../api/BuildFromProject.Issue8540.A.A.html", + "topicHref": "../api/BuildFromProject.Issue8540.A.A.html", + "topicUid": "BuildFromProject.Issue8540.A.A" + } + ] + }, + { + "name": "B", + "href": "../api/BuildFromProject.Issue8540.B.html", + "topicHref": "../api/BuildFromProject.Issue8540.B.html", + "topicUid": "BuildFromProject.Issue8540.B", + "items": [ + { + "name": "B", + "href": "../api/BuildFromProject.Issue8540.B.B.html", + "topicHref": "../api/BuildFromProject.Issue8540.B.B.html", + "topicUid": "BuildFromProject.Issue8540.B.B" + } + ] + } + ] + }, + { + "name": "Class1", + "href": "../api/BuildFromProject.Class1.html", + "topicHref": "../api/BuildFromProject.Class1.html", + "topicUid": "BuildFromProject.Class1" + }, + { + "name": "Class1.IIssue8948", + "href": "../api/BuildFromProject.Class1.IIssue8948.html", + "topicHref": "../api/BuildFromProject.Class1.IIssue8948.html", + "topicUid": "BuildFromProject.Class1.IIssue8948" + }, + { + "name": "Class1.Issue8665", + "href": "../api/BuildFromProject.Class1.Issue8665.html", + "topicHref": "../api/BuildFromProject.Class1.Issue8665.html", + "topicUid": "BuildFromProject.Class1.Issue8665" + }, + { + "name": "Class1.Issue8696Attribute", + "href": "../api/BuildFromProject.Class1.Issue8696Attribute.html", + "topicHref": "../api/BuildFromProject.Class1.Issue8696Attribute.html", + "topicUid": "BuildFromProject.Class1.Issue8696Attribute" + }, + { + "name": "Class1.Issue8948", + "href": "../api/BuildFromProject.Class1.Issue8948.html", + "topicHref": "../api/BuildFromProject.Class1.Issue8948.html", + "topicUid": "BuildFromProject.Class1.Issue8948" + }, + { + "name": "Class1.Issue9260", + "href": "../api/BuildFromProject.Class1.Issue9260.html", + "topicHref": "../api/BuildFromProject.Class1.Issue9260.html", + "topicUid": "BuildFromProject.Class1.Issue9260" + }, + { + "name": "Class1.Test", + "href": "../api/BuildFromProject.Class1.Test-1.html", + "topicHref": "../api/BuildFromProject.Class1.Test-1.html", + "topicUid": "BuildFromProject.Class1.Test`1", + "name.vb": "Class1.Test(Of T)" + }, + { + "name": "IInheritdoc", + "href": "../api/BuildFromProject.IInheritdoc.html", + "topicHref": "../api/BuildFromProject.IInheritdoc.html", + "topicUid": "BuildFromProject.IInheritdoc" + }, + { + "name": "Inheritdoc", + "href": "../api/BuildFromProject.Inheritdoc.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.html", + "topicUid": "BuildFromProject.Inheritdoc" + }, + { + "name": "Inheritdoc.Issue6366", + "href": "../api/BuildFromProject.Inheritdoc.Issue6366.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue6366.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue6366" + }, + { + "name": "Inheritdoc.Issue6366.Class1", + "href": "../api/BuildFromProject.Inheritdoc.Issue6366.Class1-1.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue6366.Class1-1.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue6366.Class1`1", + "name.vb": "Inheritdoc.Issue6366.Class1(Of T)" + }, + { + "name": "Inheritdoc.Issue6366.Class2", + "href": "../api/BuildFromProject.Inheritdoc.Issue6366.Class2.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue6366.Class2.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue6366.Class2" + }, + { + "name": "Inheritdoc.Issue7035", + "href": "../api/BuildFromProject.Inheritdoc.Issue7035.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue7035.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue7035" + }, + { + "name": "Inheritdoc.Issue7484", + "href": "../api/BuildFromProject.Inheritdoc.Issue7484.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue7484.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue7484" + }, + { + "name": "Inheritdoc.Issue8101", + "href": "../api/BuildFromProject.Inheritdoc.Issue8101.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue8101.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue8101" + }, + { + "name": "Inheritdoc.Issue8129", + "href": "../api/BuildFromProject.Inheritdoc.Issue8129.html", + "topicHref": "../api/BuildFromProject.Inheritdoc.Issue8129.html", + "topicUid": "BuildFromProject.Inheritdoc.Issue8129" + } + ] + }, + { + "name": "BuildFromVBSourceCode", + "href": "../api/BuildFromVBSourceCode.html", + "topicHref": "../api/BuildFromVBSourceCode.html", + "topicUid": "BuildFromVBSourceCode", + "items": [ + { + "name": "BaseClass1", + "href": "../api/BuildFromVBSourceCode.BaseClass1.html", + "topicHref": "../api/BuildFromVBSourceCode.BaseClass1.html", + "topicUid": "BuildFromVBSourceCode.BaseClass1" + }, + { + "name": "Class1", + "href": "../api/BuildFromVBSourceCode.Class1.html", + "topicHref": "../api/BuildFromVBSourceCode.Class1.html", + "topicUid": "BuildFromVBSourceCode.Class1" + } + ] + }, + { + "name": "CatLibrary", + "href": "../api/CatLibrary.html", + "topicHref": "../api/CatLibrary.html", + "topicUid": "CatLibrary", + "items": [ + { + "name": "Core", + "href": "../api/CatLibrary.Core.html", + "topicHref": "../api/CatLibrary.Core.html", + "topicUid": "CatLibrary.Core", + "items": [ + { + "name": "ContainersRefType", + "href": "../api/CatLibrary.Core.ContainersRefType.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.html", + "topicUid": "CatLibrary.Core.ContainersRefType" + }, + { + "name": "ContainersRefType.ColorType", + "href": "../api/CatLibrary.Core.ContainersRefType.ColorType.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.ColorType.html", + "topicUid": "CatLibrary.Core.ContainersRefType.ColorType" + }, + { + "name": "ContainersRefType.ContainersRefTypeChild", + "href": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChild.html", + "topicUid": "CatLibrary.Core.ContainersRefType.ContainersRefTypeChild" + }, + { + "name": "ContainersRefType.ContainersRefTypeChildInterface", + "href": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface.html", + "topicUid": "CatLibrary.Core.ContainersRefType.ContainersRefTypeChildInterface" + }, + { + "name": "ContainersRefType.ContainersRefTypeDelegate", + "href": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html", + "topicHref": "../api/CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate.html", + "topicUid": "CatLibrary.Core.ContainersRefType.ContainersRefTypeDelegate" + }, + { + "name": "ExplicitLayoutClass", + "href": "../api/CatLibrary.Core.ExplicitLayoutClass.html", + "topicHref": "../api/CatLibrary.Core.ExplicitLayoutClass.html", + "topicUid": "CatLibrary.Core.ExplicitLayoutClass" + }, + { + "name": "Issue231", + "href": "../api/CatLibrary.Core.Issue231.html", + "topicHref": "../api/CatLibrary.Core.Issue231.html", + "topicUid": "CatLibrary.Core.Issue231" + } + ] + }, + { + "name": "CatException", + "href": "../api/CatLibrary.CatException-1.html", + "topicHref": "../api/CatLibrary.CatException-1.html", + "topicUid": "CatLibrary.CatException`1", + "name.vb": "CatException(Of T)" + }, + { + "name": "Cat", + "href": "../api/CatLibrary.Cat-2.html", + "topicHref": "../api/CatLibrary.Cat-2.html", + "topicUid": "CatLibrary.Cat`2", + "name.vb": "Cat(Of T, K)" + }, + { + "name": "Complex", + "href": "../api/CatLibrary.Complex-2.html", + "topicHref": "../api/CatLibrary.Complex-2.html", + "topicUid": "CatLibrary.Complex`2", + "name.vb": "Complex(Of T, J)" + }, + { + "name": "FakeDelegate", + "href": "../api/CatLibrary.FakeDelegate-1.html", + "topicHref": "../api/CatLibrary.FakeDelegate-1.html", + "topicUid": "CatLibrary.FakeDelegate`1", + "name.vb": "FakeDelegate(Of T)" + }, + { + "name": "IAnimal", + "href": "../api/CatLibrary.IAnimal.html", + "topicHref": "../api/CatLibrary.IAnimal.html", + "topicUid": "CatLibrary.IAnimal" + }, + { + "name": "ICat", + "href": "../api/CatLibrary.ICat.html", + "topicHref": "../api/CatLibrary.ICat.html", + "topicUid": "CatLibrary.ICat" + }, + { + "name": "ICatExtension", + "href": "../api/CatLibrary.ICatExtension.html", + "topicHref": "../api/CatLibrary.ICatExtension.html", + "topicUid": "CatLibrary.ICatExtension" + }, + { + "name": "MRefDelegate", + "href": "../api/CatLibrary.MRefDelegate-3.html", + "topicHref": "../api/CatLibrary.MRefDelegate-3.html", + "topicUid": "CatLibrary.MRefDelegate`3", + "name.vb": "MRefDelegate(Of K, T, L)" + }, + { + "name": "MRefNormalDelegate", + "href": "../api/CatLibrary.MRefNormalDelegate.html", + "topicHref": "../api/CatLibrary.MRefNormalDelegate.html", + "topicUid": "CatLibrary.MRefNormalDelegate" + }, + { + "name": "Tom", + "href": "../api/CatLibrary.Tom.html", + "topicHref": "../api/CatLibrary.Tom.html", + "topicUid": "CatLibrary.Tom" + }, + { + "name": "TomFromBaseClass", + "href": "../api/CatLibrary.TomFromBaseClass.html", + "topicHref": "../api/CatLibrary.TomFromBaseClass.html", + "topicUid": "CatLibrary.TomFromBaseClass" + } + ] + }, + { + "name": "MRef.Demo.Enumeration", + "href": "../api/MRef.Demo.Enumeration.html", + "topicHref": "../api/MRef.Demo.Enumeration.html", + "topicUid": "MRef.Demo.Enumeration", + "items": [ + { + "name": "ColorType", + "href": "../api/MRef.Demo.Enumeration.ColorType.html", + "topicHref": "../api/MRef.Demo.Enumeration.ColorType.html", + "topicUid": "MRef.Demo.Enumeration.ColorType" + } + ] + } + ] + }, + { + "name": "REST API", + "includedFrom": "~/restapi/toc.md", + "items": [ + { + "name": "Pet Store API", + "href": "../restapi/petstore.html", + "topicHref": "../restapi/petstore.html" + }, + { + "name": "Contacts API", + "href": "../restapi/contacts.html", + "topicHref": "../restapi/contacts.html" + } + ] + } + ], + "pdf": true, + "pdfTocPage": true +} \ No newline at end of file diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/restapi/toc.html.view.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/restapi/toc.html.view.verified.json index f02bb78b044..8b2b3523dc8 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/restapi/toc.html.view.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/restapi/toc.html.view.verified.json @@ -1,4 +1,5 @@ { + "order": 100.0, "items": [ { "name": "Pet Store API", diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/restapi/toc.json.view.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/restapi/toc.json.view.verified.json index 9c47aefa347..80e0777fb60 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/restapi/toc.json.view.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/restapi/toc.json.view.verified.json @@ -1,3 +1,3 @@ { - "content": "{\"items\":[{\"name\":\"Pet Store API\",\"href\":\"petstore.html\",\"topicHref\":\"petstore.html\"},{\"name\":\"Contacts API\",\"href\":\"contacts.html\",\"topicHref\":\"contacts.html\"}],\"pdf\":true,\"pdfTocPage\":true}" + "content": "{\"order\":100,\"items\":[{\"name\":\"Pet Store API\",\"href\":\"petstore.html\",\"topicHref\":\"petstore.html\"},{\"name\":\"Contacts API\",\"href\":\"contacts.html\",\"topicHref\":\"contacts.html\"}],\"pdf\":true,\"pdfTocPage\":true}" } \ No newline at end of file diff --git a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/restapi/toc.verified.json b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/restapi/toc.verified.json index da9787103ef..46d9c6eec23 100644 --- a/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/restapi/toc.verified.json +++ b/test/docfx.Snapshot.Tests/SamplesTest.Seed.Windows/restapi/toc.verified.json @@ -1,4 +1,5 @@ { + "order": 100, "items": [ { "name": "Pet Store API", diff --git a/test/docfx.Tests/MetadataCommandTest.cs b/test/docfx.Tests/MetadataCommandTest.cs index 971631ca0c3..976af2597b1 100644 --- a/test/docfx.Tests/MetadataCommandTest.cs +++ b/test/docfx.Tests/MetadataCommandTest.cs @@ -98,7 +98,7 @@ await DotnetApiCatalog.Exec( var file = Path.Combine(_outputFolder, "toc.yml"); Assert.True(File.Exists(file)); - var tocViewModel = YamlUtility.Deserialize(file).Items; + var tocViewModel = YamlUtility.Deserialize(file).Items; Assert.Equal("testVBproj1.Foo", tocViewModel[0].Uid); Assert.Equal("testVBproj1.Foo", tocViewModel[0].Name); Assert.Equal("testVBproj1.Foo.Bar", tocViewModel[0].Items[0].Uid); @@ -165,7 +165,7 @@ await DotnetApiCatalog.Exec( var file = Path.Combine(_outputFolder, "toc.yml"); Assert.True(File.Exists(file)); - var tocViewModel = YamlUtility.Deserialize(file).Items; + var tocViewModel = YamlUtility.Deserialize(file).Items; Assert.Equal("Foo", tocViewModel[0].Uid); Assert.Equal("Foo", tocViewModel[0].Name); Assert.Equal("Foo.Bar", tocViewModel[0].Items[0].Uid); @@ -229,7 +229,7 @@ await DotnetApiCatalog.Exec( var file = Path.Combine(_outputFolder, "toc.yml"); Assert.True(File.Exists(file)); - var tocViewModel = YamlUtility.Deserialize(file).Items; + var tocViewModel = YamlUtility.Deserialize(file).Items; Assert.Equal("OtherNamespace", tocViewModel[0].Uid); Assert.Equal("OtherNamespace", tocViewModel[0].Name); @@ -268,7 +268,7 @@ await DotnetApiCatalog.Exec( var file = Path.Combine(_outputFolder, "toc.yml"); Assert.True(File.Exists(file)); - var tocViewModel = YamlUtility.Deserialize(file).Items; + var tocViewModel = YamlUtility.Deserialize(file).Items; Assert.Equal("OtherNamespace", tocViewModel[0].Uid); Assert.Equal("OtherNamespace", tocViewModel[0].Name); @@ -307,7 +307,7 @@ await DotnetApiCatalog.Exec( var file = Path.Combine(_outputFolder, "toc.yml"); Assert.True(File.Exists(file)); - var tocViewModel = YamlUtility.Deserialize(file).Items; + var tocViewModel = YamlUtility.Deserialize(file).Items; Assert.Equal("OtherNamespace", tocViewModel[0].Uid); Assert.Equal("OtherNamespace", tocViewModel[0].Name); @@ -339,7 +339,7 @@ private void CheckResult() var file = Path.Combine(_outputFolder, "toc.yml"); Assert.True(File.Exists(file)); - var tocViewModel = YamlUtility.Deserialize(file).Items; + var tocViewModel = YamlUtility.Deserialize(file).Items; Assert.Equal("Foo", tocViewModel[0].Uid); Assert.Equal("Foo", tocViewModel[0].Name); Assert.Equal("Foo.Bar", tocViewModel[0].Items[0].Uid);