Можно ли наследовать документацию от конкретных параметров?

Visual Studio 2017, ReSharper 2017, проект C#

Я пытаюсь наследовать документацию параметра метода с помощью select атрибут, но он не работает, как ожидалось.

Согласно этой статье ( http://tunnelvisionlabs.github.io/SHFB/docs-master/SandcastleBuilder/html/79897974-ffc9-4b84-91a5-e50c66a0221d.htm) документация может быть отфильтрована с помощью select атрибут, и один из примеров показывает, что он используется как таковой:

 /// <example>
 /// <inheritdoc cref="MethodWithTwoExamples"
 ///     select="span[@id='Example 2']" />
 /// </example>

Таким же образом я пытаюсь отфильтровать документацию следующим образом:

/// <param name="generateStream"><inheritdoc cref="MyClass.MyMethod" select="param[@name='generateStream']"/></param>

но проблема в том, что Visul Studio Intellisense не отображает документацию по этому конкретному параметру, а вместо этого показывает документацию по первому параметру метода, от которого я пытаюсь унаследовать документацию.

Поэтому мой вопрос: возможно ли отфильтровать документацию по конкретному параметру метода?

2 ответа

То, о чем вы просите, возможно с Visual Studio 2019 (16.9.3). У меня была такая же проблема, и я нашел здесь обсуждение:

https://github.com/doxygen/doxygen/issues/7356/#issuecomment-547905295

который указал мне правильное направление.

  • Сначала как select устарело, вы должны использовать path вместо.

  • Во-вторых, вы должны добавить к части XPath префикс косой черты ( /), чтобы ваш XML-документ выглядел так:

            /// <param name="generateStream"><inheritdoc cref="MyClass.MyMethod" path="/param[@name='generateStream']"/></param>
    

Я не думаю, что возможно показать унаследованную документацию в IntelliSense вообще из-за этого элемента UserVoice здесь.

Другие вопросы по тегам