DebuggerDisplay属性可以应用于一个不拥有的类型吗?

Ste*_*unn 27 .net debugging visual-studio

我喜欢这个DebuggerDisplay属性.我非常喜欢它,我想在我没有源代码的类型上使用它.

这可能吗?

Jen*_*ens 32

为外来类型设置DebuggerDisplay的示例(System.Collections.Generic.KeyValuePair <TKey,TValue>)将以下内容添加到AssemblyInfo.cs:

using System.Collections.Generic;
using System.Diagnostics;

[assembly: DebuggerDisplay("[Key={Key}, Value={Value}]", Target = typeof(KeyValuePair<,>))]
Run Code Online (Sandbox Code Playgroud)

(在VS2015中测试过)


Ome*_*viv 22

是.事实上,微软非常高兴在Visual Studio中将其作为内置选项.

查看"My Documents\Visual Studio 20XX\autoexp.cs"以获取有关如何将DebuggerDisplay属性应用于程序集外部类型的一些示例.然后,添加一些自己的,重新编译它并替换autoexp.dll,然后重新启动Visual Studio.它应该工作.

有关参考,请参阅此MSDN文章中的黄色"注释"段落


另外:我是Visual Studio 可购买扩展程序的创建者,可以更轻松地完成这项工作,甚至无需停止调试会话.