【问题标题】:Why on Debug some field are "missing"?为什么在调试时某些字段“丢失”?
【发布时间】:2013-03-11 10:57:18
【问题描述】:

如果我写了:

IList<Video> videoContainer = videos.ToList();
DateTime theData = videoContainer.First().YouTubeEntry.Published;

代码完美运行。 但是如果我进入调试模式并分析 videoContainer 扩展字段,我看不到该字段Published

为什么?

【问题讨论】:

  • 如果字段没有发布,它会有一个小的刷新链接,您可以点击它并尝试填充列表。
  • Video 类到底是什么类型?
  • 嗯,但我在哪里可以找到“刷新”链接?它不在父节点上:O
  • 也许PublishedYouTubeEntry 的基本类型的字段?
  • PublishedAtomEntry的成员,AbstractEntry继承,YouTubeBaseEntry继承,最后YouTubeEntry继承。

标签: c# .net debugging youtube-api


【解决方案1】:

当你先抓住感兴趣的物品时,它会更容易工作

IList<Video> videoContainer = videos.ToList();
var entry = videoContainer.First().YouTubeEntry;  // debug 'entry'
DateTime theData = entry.Published;

【讨论】:

  • 我做不到,因为“我不知道我需要使用哪个字段”:) 我无法理解它在对象上存储的位置,但我知道信息的价值。所以我正在做反向处理:按字段查找字段/结构,但我不能:(有什么建议吗?
  • 我们还在谈论调试吗?
  • 是的...通过调试我应该能够找到哪个字段具有值...不知道为什么如果在 QuickWiew 上我不能浏览基本方法...
【解决方案2】:

只是一个快速的猜测,也许你的构建配置设置有问题。您可以在 Visual Studio 菜单中查看当前设置:Build->Configuration Manager。

只是为了确保在进行测试之前执行 Build->Batch Build。如果您使用的是 ASP.Net,请确保您使用的 Web(IIS 中的虚拟文件夹和站点链接)已经引用了最新代码。这只是为了确保您测试的项目是最新的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多