【发布时间】:2012-12-31 18:17:52
【问题描述】:
我正在编写一些 Adobe InDesign 脚本。他们的 COM 实现确实是为 VB 设计的,因此对报告数据类型并不严格,偶尔需要使用动态。
我正在尝试调试一段如下所示的代码:
foreach (dynamic pi in current.PageItems)
{
if (pi is TextFrame)
{
var frame = pi as TextFrame;
var str = frame.Contents.ToString();
Debug.WriteLine(str);
}
}
这给了我一个像这样的 RuntimeBinderException:
附加信息:无法动态调用方法“WriteLine” 因为它有条件属性
我知道问题在于,使用条件属性时,需要处理动态在运行时解析为的类型的代码版本可能已经编译出来,但我明确地将我想要调试的内容转换为字符串,所以我不明白为什么仍然会发生这种情况。我该如何解决这个问题?
【问题讨论】:
标签: c# visual-studio-2010