如何确定变量的所有可能类型并查看其类型继承关系树?
.NET 类型继承关系可视化工具方案
以下工具均支持设计时直接查看NuGet包中第三方类型的完整继承链路,无需手动逐层追溯父类与接口:
Visual Studio 内置功能(无需额外安装)
- 类图生成:右键点击代码中的目标类型,选择「查看类图」,即可自动生成带连线的可视化继承关系图,同时展示所有父类、实现的接口,支持按需展开/折叠各级继承节点,可直观看到完整的继承树结构。
- 继承层级窗口:将光标定位到类型名称上,按下默认快捷键
Ctrl + W, T即可打开继承层级面板,以树形结构分级展示当前类型的所有基类、已实现接口,哪怕是跨NuGet程序集的继承关系也可正常解析,直接就能看到该类型可被转换的所有合法类型。
增强型工具
- ILSpy VS 插件:安装后右键目标类型选择「在ILSpy中查看」,即使是没有公开源码的NuGet包类型,也可以在反编译结果中看到完整的继承树,支持筛选仅显示公开类型、接口、抽象基类等不同维度的继承节点。
- ReSharper 类型层级视图:如果已安装ReSharper,按下快捷键
Ctrl + Shift + Alt + U可调出功能更丰富的类型层级视图,支持高亮显示包含指定成员的类型,帮你快速筛选出类型判断时最合适的校验类型,还支持将继承树导出为文本或本地图片。
小技巧:做类型校验选目标类型时,优先选择层级最高、且包含你后续需要调用的所有成员的类型作为判断对象,可避免冗余的多类型分支判断。
内容的提问来源于stack exchange,提问作者Eric Snyder
相关产品推荐
相关产品推荐

