相关疑难解决方法(0)

发生了"Microsoft.CSharp.RuntimeBinder.RuntimeBinderException"类型的第一次机会异常

在Newtonsoft JObjects上使用dynamic时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";
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# exception dynamic

4
推荐指数
1
解决办法
9965
查看次数

使用动态对象时的RuntimeBinderException

我觉得我错过了一些明显的东西,所以请随意向我指出.

我有一个简单的单元测试来说明我的问题:

        [Test]
    public void DynamicTest()
    {
        dynamic myDynamic = new ExpandoObject();
        myDynamic.Prop = "abc";
        Assert.AreEqual("abc",myDynamic.Prop);
    }
Run Code Online (Sandbox Code Playgroud)

当我执行单元测试时,它会通过.到现在为止还挺好.

如果我选择调试单元测试(在调试 - > VS中的异常下勾选所有CLR异常),我会看到一个RuntimeBinderException:

在此输入图像描述

它不是致命的,所以我可以击中F5继续并且测试仍然通过,但这似乎是错误的.我在这里做错了吗?在我们的应用程序的一般使用过程中获取这些异常非常烦人.或者我应该取消RuntimeBinderException的框并忽略它?

.net c# dynamic visual-studio-2010

3
推荐指数
1
解决办法
7635
查看次数

标签 统计

c# ×2

dynamic ×2

.net ×1

exception ×1

visual-studio-2010 ×1