我正在尝试自定义调试对象工具提示。为了实现这一点,我在 Visualizers 文件夹(如何:安装 VisualizerAssembly: DebuggerDisplay
)中有一个包含属性的库(可以将 DebuggerDisplay 属性应用于不拥有的类型吗?)。
我想看到一个 DataRow 索引,所以我在 vb.net
<Assembly: DebuggerDisplay("Idx = {Table.Rows.IndexOf(Me)}", Target:=GetType(DataRow))>
或在 C# 中
[assembly: DebuggerDisplay(@"Idx = {Table.Rows.IndexOf(this)}", Target = typeof(DataRow))]
问题是表达式是在调试时评估的,并且对象自引用 ( Me
x this
) 在两种语言中是不同的。所以我得到
CS0103 The name 'Me' does not exist in the current context
在我调试 c# 代码时的工具提示中。
有没有办法使用两种语言共有的语法来获取 DataRow 的索引?