Зачем деструкторам C # нужна документация XML? - PullRequest
4 голосов
/ 31 марта 2011

Мне нравится, чтобы комментарии и документация Xml моего кода на C # были минимальными.Вместо этого я предпочитаю делать код самодокументирующимся, где это возможно.

Но компилятор C # выдает предупреждение, если я не помещаю комментарий Xml на деструктор открытого класса.Почему это так?

Есть ли какая-то полезная информация, которую я должен поместить в комментарии Xml, чего я не делал?Я никогда не считал нужным читать комментарии к деструктору.Компилятор просто слишком усердствует?

Ответы [ 4 ]

2 голосов
/ 31 марта 2011

Если вы включите комментарии XML Doc, компилятор попросит вас документировать все в вашем API. Деструктор является частью API и действительно должен быть включен.

Деструктор, как правило, должен существовать только в IDisposable классах, и его документирование помогает сигнализировать / напоминать людям о необходимости вызова Dispose() на объекте, поскольку выполнение этого (если реализовано правильно) значительно снизит давление ГХ.

1 голос
/ 31 марта 2011

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

0 голосов
/ 31 марта 2011

Он настаивает на этом, потому что ваш класс общедоступен, а деструктор C # в итоге переопределяет защищенный метод , который виден снаружи вашей сборки.

0 голосов
/ 31 марта 2011

Всем, кто использует ваш код, может быть полезно точно знать, что делает финализатор.Другими словами, если вы работаете с множеством неуправляемых ресурсов, было бы полезно, если бы в документации было четко указано, что ваш класс делает с этими ресурсами, когда они освобождаются.

...