Можно ли наследовать документацию от конкретных параметров?
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 здесь.