我喜欢尽量减少我的 C# 代码的注释和 Xml 文档。宁愿在可能的情况下使代码自记录。
但是,如果我不对公共类的析构函数添加 Xml 注释,C# 编译器会发出警告。为什么是这样?
是否有一些有用的信息我应该在这里放入 Xml 注释中,而我一直没有这样做。我从来没有发现自己需要阅读关于析构函数的评论。编译器只是过于热心了吗?
如果您打开 XML Doc 注释,编译器将希望您记录 API 中的所有内容。析构函数是 API 的一部分,确实应该包含在内。
析构函数通常应该只存在于IDisposable
类中,并且将其记录在案确实有助于发出信号/提醒人们调用Dispose()
对象,因为这样做(如果正确实施)将显着降低 GC 压力。
我怀疑,虽然我没有证据,警告只是因为它在所有未标记为私有的方法上查找文档注释而触发。我怀疑有一个特定的规则是析构函数特别需要注释。
对于使用您的代码的任何人来确切地了解终结器的作用,这可能会有所帮助。换句话说,如果您正在使用大量非托管资源,那么如果文档清楚地概述了您的类在这些资源被释放时如何处理这些资源,那将会很有帮助。
它坚持这一点,因为您的类是公共的,并且 C# 析构函数最终覆盖了受保护的方法,该方法从您的程序集外部可见。