Наследование комментариев XML от интерфейсов в C # - PullRequest
70 голосов
/ 22 сентября 2010

Мне было интересно, знает ли кто-нибудь, как связать XML-комментарий интерфейса с реализацией.Проблема в том, что я хочу, чтобы базовые комментарии исходили из моего интерфейса первыми.Пример:

interface myinterface {

       /// <summary>
       /// Does something.
       /// </summary>
       void method1(string foo);

}

, а затем реализация:

public class myclass : myinterface {


       public void method1(string foo) {
             //do something...
       }
}

Так что теперь, если я наведу курсор мыши на метод после создания объекта:* Как сделать так, чтобы комментарии появлялись во всплывающем окне?Есть ли способ связать комментарии интерфейса с реализацией?Я знаю, что в Java есть способ, но не могу найти решение для C #.

Спасибо

Ответы [ 5 ]

18 голосов
/ 22 сентября 2010

Связывание комментариев XML ИМХО невозможно, но вы можете использовать инструмент, подобный GhostDoc , чтобы скопировать комментарий XML из вашего интерфейса / базового класса в класс реализации / производного.

8 голосов
/ 11 октября 2012

XMLDoc определяет тег <include /> для включения комментариев из другого файла, который существовал со времен Visual Studio 2003. Наибольшее предостережение заключается в том, что указанный файл должен представлять собой файл, содержащий только документацию XMLDoc, а не другой исходный файл.

Подробнее см. на странице MSDN .

7 голосов
/ 22 сентября 2010

Если вы используете GhostDoc , это очень помогает в «транспортировке» документации от интерфейсов к реализующему коду.

0 голосов
/ 21 декабря 2017

Я создал инструмент командной строки для пост-обработки файлов документации XML, добавив поддержкуtag.

Хотя это не помогает при работе с Intellisense в исходном коде, оно позволяет включать измененные файлы документации XML в пакет NuGet и поэтому работает с Intellisense в ссылочных пакетах NuGet.

См. www.inheritdoc.io для получения дополнительной информации (доступна бесплатная версия).

0 голосов
/ 18 мая 2011

http://blog.x -tensive.com / 2008/02 / fixml.html

Это постпроцессор, который имеет определенные дополнительные опции, в которых отсутствует оригинальная система документации.

с сайта:

Краткое резюме:

FiXml - постпроцессор документации XML, созданный C # \ Visual Basic.Net. В нем рассматриваются некоторые наиболее раздражающие случаи, связанные с написанием XML-документации на следующих языках: - Нет поддержки наследования документации от базового класса или интерфейса. То есть документация для любого переопределенного члена должна быть написана с нуля, хотя обычно очень желательно наследовать хотя бы ее часть. - Нет поддержки для вставки часто используемых шаблонов документации, таких как «Этот тип одноэлементный - используйте его свойство для получения единственного экземпляра этого»., Или даже «Инициализирует новый экземпляр класса».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...