Документация по переопределенному методу

Я работаю с 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:
    введите здесь описание изображения

  • через i:
    введите здесь описание изображения

  • через iasb:
    введите здесь описание изображения

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

Любое предложение?


person Tomaso Tosolini    schedule 23.01.2020    source источник
comment
См. github.com/dotnet/csharplang/issues/313.   -  person canton7    schedule 23.01.2020
comment
В Visual Studio 2019 все работает правильно   -  person Marco Salerno    schedule 23.01.2020
comment
Да, похоже, это было представлено в VS 2019 16.4.   -  person canton7    schedule 23.01.2020


Ответы (1)


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

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

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

person canton7    schedule 23.01.2020