Переопределенная документация по методу - PullRequest
2 голосов
/ 23 января 2020

Я работаю с C# и Visual Studio (2015, не проверял другие версии).

У меня проблема с переопределенным методом для документации кода. Пожалуйста, смотрите следующий пример

public class BaseClass
{
    public BaseClass()
    { }

    /// <summary>
    /// BaseClass.MethodName comment
    /// </summary>
    public virtual void MethodName()
    { }
}

public class InheritedClass : BaseClass
{
    public InheritedClass(): base()
    { }

    public override void MethodName()
    { }
}

public class Test
{
    public static void m()
    {
        BaseClass b = new BaseClass();
        b.MethodName();

        InheritedClass i = new InheritedClass();
        i.MethodName();

        BaseClass iasb = i;
        iasb.MethodName();
    }
}

Если я наведу курсор на 3 различных вызова метода MethodName (), я получу:

  • на b: enter image description here

  • над i: enter image description here

  • через iasb: enter image description here

Похоже, что поиск комментариев к коду для переопределенных методов не сканирует также базовые классы, а также когда у переопределенного метода нет «переопределенного» комментария. Вместо этого я хотел бы, если возможно, чтобы, если унаследованный класс не имел локального комментария, отображался комментарий базового класса. Кроме того, было бы также неплохо, если бы унаследованный класс имел локальный комментарий, разработчик мог указать, должен ли локальный комментарий полностью переопределять комментарий базового класса, или же локальный комментарий нужно каким-то образом комбинировать с Базовый класс 'один.

Есть предложения?

1 Ответ

1 голос
/ 23 января 2020

Это было введено в Visual Studio 2019 версии 16.4. Из примечаний к выпуску :

. NET Производительность в этом выпуске добавлена ​​возможность настраивать уровень серьезности правила стиля кода напрямую через В редакторе легко перемещаться вверх по цепочке наследования с помощью новой команды Go To Base, добавляя нулевые проверки для всех параметров и документацию XML для переопределяющих методов.

До этого похоже, что есть расширение и задача MSBuild для выполнения sh того же, путем украшения переопределенного метода с помощью /// <inheritdoc/>.

...