我正在单步执行一些代码并查看 PropertyInfo 对象并想知道如何获取它的 base.Name
替代文字 http://www.yart.com.au/stackoverflow/propertyinfo.png
我可以在调试器中看到这一点,但我不确定如何执行此操作,因为 PropertyInfo 上没有“基础”属性
我正在单步执行一些代码并查看 PropertyInfo 对象并想知道如何获取它的 base.Name
替代文字 http://www.yart.com.au/stackoverflow/propertyinfo.png
我可以在调试器中看到这一点,但我不确定如何执行此操作,因为 PropertyInfo 上没有“基础”属性
您可以通过 property.Name 访问此属性。
调试器显示 base.Name 的事实有点用词不当。实际上,C# EE 正在评估幕后的 property.Name。它实际上并不评估“base.Name”。
无论属性/方法是否是虚拟的,这都是正确的。原因是 CLR 调试器没有提供 EE 可以在非虚拟方法中调用虚拟方法的方法。有一些方法可以通过 relfection 调用方法来实现这种效果,但 C# 或 VB.Net 在各自的 EE 中都没有走这条路。
只需使用.Name
; PropertyInfo
没有定义这个 - 它继承自MemberInfo
只是:
property.Name