Отключите правило SA1600 StyleCop для внутренних интерфейсов

#.net #visual-studio #coding-style #code-analysis #stylecop

Вопрос:

Стилкоп.Анализаторы: 1.1.118

Мой стиль. json:

  {
      "$schema":
        "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
      "settings": {
        "documentationRules": {
          "companyName": "ShapeCrawler",
          "documentInternalElements": false
        }
      }
    }
 

Образец:

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

Можно ли отключить правило «SA1600: элементы должны быть задокументированы» для внутренних интерфейсов?

Ответ №1:

По определению, внутренние интерфейсы видны всем типам внутри сборки и всем сборкам, которые имеют с ней «дружеские» отношения с помощью InternalsVisibleTo атрибута. Как правило, рекомендуется документировать общедоступные элементы внутренних типов (включая интерфейсы), если у вас нет действительно веских причин этого не делать; по крайней мере, вы получите выгоду от документации IntelliSense в момент вызова.

Сказав это, если вы решили не документировать их, заверните тип следующим образом:

 #pragma warning disable 1591
[Your code here]
#pragma warning enable 1591
 

Комментарии:

1. «внутренние интерфейсы являются общедоступными» Хм, не знал об этом.

2. @AdamShakhabov Лучшим термином было бы «видно». Я обновлю комментарий, чтобы отразить это.