我正在一个框架中工作,这个框架做了大量的继承工作,我发现一个基类的Natvis会干扰另一个基类的继承。
下面是一个愚蠢的例子:
class MainBase {};
class ExtraBase {};
class Derived: MainBase, ExtraBase {};有了这样的自然:
<Type Name="MainBase">
<Expand>
<Item Name="MainBaseItem">23</Item>
</Expand>
</Type>
<Type Name="ExtraBase">
<Expand>
<Item Name="ExtraBaseItem">42</Item>
</Expand>
</Type>...I得到这个:https://i.stack.imgur.com/0dMNu.png

MainBaseItem的扩展显示得很好,但对于ExtraBaseItem的扩展却无处可见。
在我的实际案例中,Inheritable="false"等价的natvis是非常重要的,所以我不能通过添加MainBase来解决这个问题。为派生类本身添加专门化的natvis也是不实际的--有数千个派生类。考虑到这些无益的约束,我能做些什么让ExtraBaseItem出现吗?
发布于 2018-07-11 17:09:24
<Type Name="ExtraBase">
<Expand>
<!-- Example of hierarchical class shown below-->
<Item Name="MainBaseItem [base]">(MainBaseItem*)this</Item>
</Expand>
</Type>如果我理解正确的话..。
https://stackoverflow.com/questions/50348930
复制相似问题