2

У меня есть контроллер базовых API:Автоматическая генерация документации и Наследование

public class BaseController<T> : ApiController 
{ 
    /// <summary> 
    /// Method GetByYear in Base class 
    /// </summary> 
    /// <param name="year"></param> 
    /// <returns></returns> 
    public virtual IQueryable<T> GetByYear(int year) 
    { 
     return null; 
    } 
} 

и ребенка, который только унаследованный метод GetByYear от основания:

public class HouseController : BaseController<House> 
{ 
    /// <summary> 
    /// Method Test 
    /// </summary> 
    /// <returns></returns> 
    public string Test() 
    { 
     return "Test"; 
    } 
} 

я использую страницу справки для создания автоматической документации. И в результате я получаю:

enter image description here

Я хочу, чтобы получить описание двух методов.
Как я могу получить комментарии XML к методу GET в дочернем классе без переопределения?
Или мне нужно скопировать его в класс моего ребенка?

Когда я использую <inheritdoc /> в HouseController я получаю тот же результат, как и выше, и я не хочу, чтобы переопределить каждый метод, когда он не нужен:

 /// <inheritdoc /> 
    public override IQueryable<House> GetByYear(int year) 
    { 
     return base.GetByYear(year); 
    } 

Другой вопрос: Как я могу использовать GhostDoc с невыполнением Страница справки?

+0

Вы спрашиваете, следует ли документировать производные классы и переопределять? Хм ... да. Вам не нужно документировать унаследованные члены, которые не являются скрытыми. –

+0

Есть ли способ скопировать комментарии xml к производным классам? –

+0

Может ли кто-нибудь мне помочь? –

ответ

1

Вы можете использовать /// <inheritdoc />.

+0

Да, но для использования я также должен переопределить базовые методы. Я хочу оставить тело пустым от дочернего класса, если нет необходимости переопределять –

+0

@ D.Joe. Я бы не стал беспокоиться, хотя ваш генератор документации должен дать вам ссылку на базовый класс. Документирование только переопределенных и новых методов на самом деле делает документы более полезными. –

+0

Мне нужно решение, как в [this] (http://stackoverflow.com/a/32342008/5246440). Но это не сработает для меня ((. –

0

Это может зависеть от программы, которая превращает XML-комментарии в фактическую документацию, но MSDN, например, просто реплицирует базовую документацию, отмечая, что она унаследована от базового класса. Таким образом, вам не нужно копировать документацию по производным членам (если они не переопределены и ведут себя по-разному, поэтому требуются разные документы)

+0

Спасибо. Это очень новости о боге, но почему это не работает для меня? –

+0

Вы должны быть более конкретными - что _exactly_ не (Пожалуйста, добавьте свой вопрос, а не как комментарий) –

+0

Я только что обновил вопрос –

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