当在 Newtonsoft JObjects 上使用动态时,我得到了很多Microsoft.CSharp.RuntimeBinder.RuntimeBinderException
在我的调试输出中。虽然异常肯定被捕获在 Microsoft.CSharp.dll 中的某个地方,但它们的发生让我隐约感到不舒服。我能做些什么来阻止他们(除了完全放弃动态)?
这是一个简短的测试程序,它输出以下异常之一:
using System;
using Newtonsoft.Json.Linq;
namespace DynamicTest {
class Program {
static void Main(string[] args) {
JObject j = new JObject();
j["DocumentName"] = "Name";
dynamic d = j;
d.DocumentName = "Changed";
}
}
}
JSON.Net 的创建者亲自解决了这个问题here https://github.com/JamesNK/Newtonsoft.Json/issues/352
确保它是小事,例外是设计使然。更多信息:运行时Binder异常已经在这里得到了回答堆栈溢出 https://stackoverflow.com/questions/15016561/runtimebinderexception-when-using-dynamic-object
顺便说一句,如果您想禁用这些警告只是因为它们让您感到不舒服。
在 Visual Studio 中单击Tools - > Options然后选择调试并选中显示的框仅启用我的代码.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)