如何使用 Visual Studio Text Visualizer 实现自定义类型?

2023-11-26

在 Visual Studio 2015(以及某些旧版本)中,调试 C# 代码时,可以显示string通过带有放大镜图标的下拉列表显示各种可视化工具(文本、XML、HTML、JSON)中的变量。这也适用于某些非字符串类型,例如,System.Xml.Linq.XElement。是否可以使用这些内置可视化工具来显示我自己的自定义类型的变量的值?

Context:

我需要能够快速检查复杂自定义类型的状态,该状态只能在可接受的方式中可视化多线文本环境。


如果我正确理解你的问题,那么你可以通过调试器类型代理。每当您检查复杂类型的对象时,它都会导致调试器创建并显示代理对象。

在下面的示例中,代理对象包含一个(多行)字符串属性,您可以使用文本可视化工具查看该属性。如果您仍然需要查看底层对象本身,那么这就是Raw view按钮用于。

[DebuggerTypeProxy(typeof(ComplexTypeProxy))]
class ComplexType
{
    // complex state
}

class ComplexTypeProxy
{
    public string Display
    {
        get { return "Create a multi-line representation of _content's complex state here."; }
    }

    private ComplexType _content;

    public ComplexTypeProxy(ComplexType content)
    {
        _content = content;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Visual Studio Text Visualizer 实现自定义类型? 的相关文章

  • 无法使用 VS 2019 构建 Web 应用程序

    我安装了 VS 2019 Pro 并尝试编译我们的解决方案只是为了得到这个 error MSB4226 The imported project C Program Files x86 Microsoft Visual Studio 201
  • 以编程方式 Godaddy 发送的电子邮件不在“已发送邮件”文件夹中 C#.net

    我正在通过以下方式发送电子邮件ASP NET代码使用godaddy邮件服务器 邮件发送成功 但未存储在已发送邮件文件夹中 我正在使用下面的代码 SmtpClient client new SmtpClient client Host smt
  • C++ 有像 Pascal 一样的“with”关键字吗?

    withPascal 中的关键字可用于快速访问记录的字段 有人知道 C 是否有类似的东西吗 前任 我有一个包含许多字段的指针 但我不想这样输入 if pointer gt field1 pointer gt field2 pointer g
  • C/C++ 中随机数生成器的实现[重复]

    这个问题在这里已经有答案了 我对 C 中随机数生成器的实现有点困惑 它也与 C 中的明显不同 如果我理解正确 对 srand seed 的调用会以某种方式初始化可通过 rand 访问的隐藏变量 种子 该变量又将函数指向预先生成的序列 例如例
  • 在 MVC 类上创建主键字段

    我是 MVC 和 C 新手 我只是偶然发现它并发现它很有趣 我遇到了一个不允许我继续的问题 这是我的代码 using System using System Collections Generic using System Linq usi
  • 此插件导致 Outlook 启动缓慢

    我正在使用 C NET 4 5 开发 Outlook Addin 项目 但部署后 有时 Outlook 会禁用我的插件 并显示此消息 这个插件导致 Outlook 启动缓慢 我不知道我的插件出了什么问题 这只有很少的代码 并且ThisAdd
  • 为什么 LinkedList 通常比 List 慢?

    我开始在我的一些 C 算法中使用一些 LinkedList 而不是列表 希望能够加快速度 然而 我注意到他们只是感觉更慢 像任何优秀的开发人员一样 我认为我应该尽职调查并验证我的感受 所以我决定对一些简单的循环进行基准测试 我认为用一些随机
  • C# ConfigurationManager 从 app.config 检索错误的连接字符串

    我有一个简单的 WinForms 应用程序 它最终将成为一个游戏 现在 我正在研究它的数据访问层 但遇到了障碍 我创建了一个单独的项目 名为DataAccess在其中 我创建了一个本地 mdfSQL Server 数据库文件 我还创建了一个
  • 在 C++ 中处理音频缓冲区时,如何执行从 float -> double -> float 的转换

    我目前正在开发一个应用程序 其中音频样本帧在以下回调中进行处理 void Eav07AudioProcessor processBlock AudioSampleBuffer buffer for int channel 0 channel
  • 使用对象列表构建树

    我有一个带有属性 id 和parent id 的对象列表 我想建造一棵树来连接那些孩子和父母 1 个父对象可以有多个子对象 并且有一个对象将成为所有对象的祖先 实现该功能最快的算法是什么 我使用 C 作为编程语言 但其他语言也可以 像这样的
  • AspNetCore.SignalR:无法启动未处于初始状态的连接

    我无法让 ASP NET Core SignalR 应用程序正常运行 我有这个服务器端代码 public class PopcornHub Hub private int Users public async Task BroadcastN
  • ASP.NET Web API Swagger(Swashbuckle)重复OperationId

    I have a web api controller like below In swagger output I am having the below image And when I want to consume it in my
  • .NET 的 HttpWebResponse 是否会自动解压缩 GZiped 和 Deflated 响应?

    我正在尝试执行一个接受压缩响应的请求 var request HttpWebRequest HttpWebRequest Create requestUri request Headers Add HttpRequestHeader Acc
  • 检索 Autofac 容器以解析服务

    在 C WindowForms 应用程序中 我启动一个 OWIN WebApp 它创建另一个类 Erp 的单例实例 public partial class Engine Form const string url http 8080 49
  • printf 参数不足

    我的问题是关于缺少参数的 printf 之后的行为 printf s blah blah d int integer was given as argument and not int written 我已经知道 如果格式参数不足 则行为是
  • 向每个收件人发送一封包含不同内容的电子邮件(使用抄送字段)

    在你因为这个问题 毫无意义 和 不可能 而驳回之前 请听我说完 问题 我们在使用我们的系统发送的每封电子邮件中实施跟踪像素 即具有唯一 URL 的可下载 GIF 文件 这有助于我们跟踪电子邮件的打开情况 问题是 当我们抄送一些收件人时 跟踪
  • 获取大于某个数字的元素个数

    我正在尝试解决以下问题 数字被插入到容器中 每次插入数字时 我需要知道容器中有多少元素大于或等于当前插入的数字 我相信这两个操作都可以以对数复杂度完成 我的问题 C 库中有标准容器可以解决这个问题吗 我知道std multiset可以在对数
  • Intel 和 AMD 处理器有相同的汇编程序吗?

    C语言被用来编写Unix以实现可移植性 使用不同编译器编译的同一个C语言程序会产生不同的机器指令 为什么 Windows 操作系统能够在两者上运行Intel https en wikipedia org wiki Intel and AMD
  • 网页执行回发时如何停止在注册表单上?

    我正在做我的最后一年的项目 其中 我在一页上有登录和注册表单 WebForm 当用户点击锚点时Sign Up下拉菜单ddlType 隐藏 和文本框 txtCustName txtEmail and txtConfirmPassword 显示
  • 如何设置 Swashbuckle 与 Microsoft.AspNetCore.Mvc.Versioning

    我们有asp net core webapi 我们添加了Microsoft AspNetCore Mvc Versioning and Swashbuckle拥有招摇的用户界面 我们将控制器指定为 ApiVersion 1 0 Route

随机推荐

  • Javascript 类型数组和字节顺序

    我正在使用 WebGL 渲染二进制编码的网格文件 二进制文件以大端格式写入 我可以通过在十六进制编辑器中打开文件或使用 fiddler 查看网络流量来验证这一点 当我尝试使用 Float32Array 或 Int32Array 读取二进制响
  • NSNotificationCenter 选择器未被调用

    在我的 iPad 应用程序中 我在一堂课中注册了一条通知 NSNotificationCenter nc NSNotificationCenter defaultCenter nc addObserver self selector sel
  • 如何更改Android顶部工具栏菜单项图标大小

    如何更改 Android 工具栏中菜单项的大小 目前菜单的尺寸非常小 我想增加尺寸 如果有人知道请帮助我找到解决方案 应用程序栏 xml
  • 验证访问令牌 - Asp.Net 身份

    我正在使用 ASP Net Identity 来实现外部登录 用户使用 Google 登录后 我获得了 google 的外部访问令牌 然后我进行第二次 api 调用获取LocalAccessToken 它将外部访问令牌换成新的本地访问令牌
  • Android 如何获取两个时区之间的时差?

    我需要获取不同时区的两个日期之间的时差 目前我正在这样做 Calendar c1 Calendar getInstance TimeZone getTimeZone EDT Calendar c2 Calendar getInstance
  • 适用于 Windows 和 Linux 的 Go 中的命名管道

    我是 Go 新手 我想在 Go 中创建命名管道实现 它可以在 Windows 和 Linux 上运行 我设法让代码在 Ubuntu 上运行 但是这个代码在 Windows 上不起作用 Go 中是否没有任何抽象允许您在两种环境中使用命名管道
  • 如何使用 React Native 强制用户更新应用程序

    我已经在应用程序和 Play 商店中更新了我的应用程序 并且我想强制我的应用程序用户在应用程序商店和 Play 商店中更新应用程序的新版本 您可以使用此库检查应用程序的 App Store Play Store 版本反应本机应用商店版本检查
  • JSON对象到文档

    您好 我是 mongodb 新手 我想将 JSONObject 转换为文档 然后将其存储到 mongodb 这是我编码的内容 我得到了一个 json 格式的服务 api CloseableHttpResponse response http
  • 禁用来自NotificationChannel的声音

    今天我开始瞄准 API 26 这迫使我使用通知通道 我的问题是 现在每个新通知 包括更新 都会播放烦人的声音 如何禁用此声音 我尝试用自定义 mp3 声音替换此声音 然后将其传递为静音的 mp3 但这被忽略 我只是添加一个优先级非常低的通知
  • 如何在加载实际内容之前加载小占位符图像

    我有一个关于图像加载样式的问题 如图所示http www e flux com 该网站首先 随机 加载特定图案的图像 然后再继续显示实际图像 我的猜测是 这是在加载整个网站之前就拥有视觉上令人愉悦的内容 我查看了源代码 发现它有一类 laz
  • 如何从 xml 文件中删除 BOM 字符 [重复]

    这个问题在这里已经有答案了 我正在使用 xsl 来控制 xml 文件的输出 但正在添加 BOM 字符 vim file xml set nobomb wq
  • Java 日历的设置值没有给出预期的日期时间

    我有一个小时 分钟 日期和毫秒时间戳 并且正在尝试创建一个表示时间的 Date 对象 时间戳以东部夏令时间提供 在剖析这个问题时 我创建了一些简单的测试代码来查看发生了什么 并观察到以下情况 Date today new Date int
  • 如何将 QMetaMethod 与 QObject::connect 一起使用

    我有两个 QObject 子类实例和一个对象中信号的两个 QMetaMethod 实例以及另一个对象中插槽的两个实例 我想将这个信号和插槽相互连接 我查看了 qobject h 文件 发现 SIGNAL 和 SLOT 宏只是在方法签名的开头
  • 如何在 slick + postgresql 上进行分页选择

    在使用 slick 3 的 postgresql 数据库中 分页的最佳方式是什么 获取所有行并使用 scala 进行分页 似乎效率不高 带限制和偏移量的静态查询 还有其他办法吗 您可以使用take and drop上的方法TableQuer
  • 如何向连续几天的“连续”行中添加运行计数

    谢谢Mike添加创建 插入语句的建议 create table test pid integer not null date date not null primary key pid date insert into test value
  • 时间单元测试的想法和技巧?

    有人做过时间单元测试吗 我什至不确定这样的术语是否已被创造 但重点是测试操作是否在时间限制内执行 我有一些算法 我想测试它们的执行时间是否按预期增加 我想类似的测试可以用于 IO 以及什么不是 有点像 test timeout 之类的 然而
  • 在 WF4 中工作流定义更改后加载持久工作流

    如何解决这个问题 在WF4中 我在 xaml 中创建一个工作流程并启动它的多个实例 我有一个持久性存储 并且所有工作流程都保留在其工作流程一半的书签上 现在我停止应用程序 如果我重新启动应用程序 一切都会恢复 并且很好地完成 但是 如果我想
  • C# 不可空字段:Lateinit?

    我想知道如何使用后期初始化C 中的类字段可为空的引用类型 想象一下下面的类 public class PdfCreator private PdfDoc doc public void Create FileInfo outputFile
  • 在 Swift 中生成随机单词

    我正在尝试探索 Swift 编程语言 我在 Swift API 中搜索 发现了UIReferenceLibraryViewController班级 我发现如果一个单词是真实的还是不真实的 该方法会返回一个布尔值 dictionaryHasD
  • 如何使用 Visual Studio Text Visualizer 实现自定义类型?

    在 Visual Studio 2015 以及某些旧版本 中 调试 C 代码时 可以显示string通过带有放大镜图标的下拉列表显示各种可视化工具 文本 XML HTML JSON 中的变量 这也适用于某些非字符串类型 例如 System