2011-01-10 7 views
3

Я добавляю комментарии к некоторому коду csharp, и я использую XML-язык, предоставляемый .net (или что-то еще). У меня есть интерфейс и некоторые реализующие классы. У меня есть один метод в интерфейсе, и у него есть комментарий. в реализующих классах нет комментариев по методу реализации.могут ли классы csharp «наследовать» XML-документацию, например, классы java?

, когда это делается в java, javadoc автоматически использует комментарий к интерфейсу при создании документации. однако теперь, когда я строю свой проект, я получаю предупреждение (транслируется из шведского, извините) «комментарий xml для видимого типа или члена bla.blabla.blablabla() отсутствует (cs1591)». это только предупреждение, так что не так уж плохо. но!!! это означает, что файл xml не выводился, поэтому я не могу использовать sandcastle для генерации файла документа chm, который является моей настоящей целью здесь. googling ошибка кодирования ничего не дает :(

действительно ли мне нужно копировать комментарий метода для всех классов реализации? Это похоже на .... дублирование кода D: нет ли способа получить поведение java-предложений?

ответ

4

Я не знаю, каким образом это произойдет при создании XML-файла но GhostDoc может сэкономить вас от выполнения копирования вручную. Не могу сказать, что я использовал его сам.

Я согласен, что это будет ценная функция ... особенно если базовый класс (или интерфейс) документация ch углы после того, как производные классы были реализованы и задокументированы.

+0

спасибо! я посмотрю на ghostdoc :) – davogotland

0

Ну, я не знаю о Java, но извините, вам придется скопировать комментарии интерфейса в реализованном классе. здесь нет встроенного способа сделать это ...

И да рассмотреть предложение, данное JonSkeet

+0

этот ответ заставляет меня грустить: € (я собирался положить только грустное лицо, но приложение не позволит мне) – davogotland

+0

Извините ... просто попробуйте использовать сторонние инструменты, как предложено в других ответы .. :( –

1

Вы должны скопировать интерфейсы комментарии к реализующему классу. Как правило, это хорошая вещь, как два замечания в идеале должны быть разными - мое мнение (и практика) об этом можно резюмировать следующим образом:

Интерфейс Комментарии - Объясняет, что, как предполагается, метод/свойство/и т.д./ожидается, что делать, но как правило, не изгонять, как любая конкретная реализация должна

класс реализации Комментарии - Объясняет, что метод/свойство/и т.д. на самом деле, и может включать в себя некоторые детали того, как это делается (как правило, в <remarks>)

+5

Я не мог больше не соглашаться. Комментарий к интерфейсу должен быть (абстрактным) достаточно для всех возможных реализаций. Я думаю, что это очень хорошо работает для встроенного в api java. – davogotland

1

VSdocman может автоматически устранять отсутствующие комментарии XML от реализованных интерфейсов при создании документации. Более того, подобно GhostDoc, он также может явно копировать унаследованные комментарии в метод реализации. В отличие от Sandcastle, это не бесплатно.

Смежные вопросы