Сохранение комментариев при переопределении


Есть ли способ (инструмент или что-то еще), который позволяет не дублировать одни и те же комментарии XML при наследовании/переопределении методов из базовых классов?

Напр.:

/// <summary>
/// Represent a brand new object in .NET
/// </summary>
public class MyObject : Object
{
    /// <summary>
    /// Copy-Paste the same Xml comment 
    /// like in the base class is boring!
    /// </summary>
    /// <param name="obj">and params too!! ((</param>
    /// <returns>this one too!!! (((</returns>
    public override bool Equals(object obj)
    {
        return base.Equals(obj);
    }
}
2 3

2 ответа:

Я думаю, вы ищете inheritdoc:

/// <inheritdoc />
public override bool Equals(object obj)

Это не стандартный тег (поэтому Intellisense может не поддерживать его, например), но он довольно часто используется - в частности, Sandcastle поддерживает его.

Если вы ищете инструмент, вы можете попробовать расширение GhostDoc для visual studio. Он помогает вам предварительно генерировать комментарии и может принимать комментарии из базового класса.

Поскольку сгенерированный комментарий является обычным комментарием, IntelliSense поддерживает его должным образом, но он не обновляется волшебным образом при изменении базового комментария.