如何为未重写的派生类默认构造函数添加自定义XML注释?
可行,无需重复定义空构造函数
你不用在每个派生类里显式写默认构造函数,通过以下几种方式就能让派生类构造的tooltip显示自定义注释:
1. 统一修改基类构造的文档注释
如果所有派生类的默认构造都需要同一份自定义注释,直接在基类的默认构造上写清楚注释就行。主流IDE(比如VS、Rider)的代码提示会自动继承基类构造的注释,调用派生类默认构造时,tooltip会直接显示基类的注释内容。
举个C#的例子:
/// <summary> /// 初始化实例的默认构造,这里是自定义的注释内容 /// </summary> public class BaseClass { public BaseClass() { // 基类构造逻辑 } } // 派生类不用写构造函数,自动继承 public class DerivedClass : BaseClass { }
当你写new DerivedClass()时,tooltip就会显示基类里写的那段注释。
2. 给特定派生类加专属注释
如果个别派生类需要额外的定制注释,不用写空构造,直接在派生类上用<inheritdoc>标签关联基类构造,再补充专属内容就行。这种方式在VS、Rider里都能被识别:
/// <inheritdoc cref="BaseClass()" /> /// <remarks> /// 这是这个派生类独有的额外说明 /// </remarks> public class SpecialDerived : BaseClass { }
这样调用这个派生类的默认构造时,tooltip会同时显示基类的注释和你补充的专属内容。
3. 借助自定义属性(进阶)
如果需要更灵活的控制,可以自定义一个注释属性,配合IDE插件来识别并注入tooltip内容。不过这种方式需要额外配置工具,一般前两种方法就够覆盖大部分场景了。
总的来说,不管是统一修改还是个别定制,都不用重复写空构造函数,靠注释标签或者基类注释继承就能搞定。
内容的提问来源于stack exchange,提问作者Timur Kelman
相关产品推荐
相关产品推荐

