Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

RuntimeBinderException when using dynamic object

I feel like I'm missing something obvious here so feel free to point it out to me.

I have a simple unit test to illustrate my problem:

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

When I execute the unit test it passes. So far so good.

If I choose to debug the unit test (with all CLR exceptions ticked under Debug -> Exceptions in VS) I see a RuntimeBinderException:

enter image description here

Its not fatal, so I can hit F5 and continue and the test still passes but this seems wrong. Am I doing something wrong here? Its pretty annoying getting these exceptions during general use of our application. Or should I just untick the box for RuntimeBinderException and ignore this?

like image 291
Scott Avatar asked Feb 22 '13 03:02

Scott


1 Answers

You are setting the debugger to break when CLR exceptions are thrown (i.e. first-chance) not unhandled (i.e. second-chance). Obviously, you can untick this and it will go away, but if you want to see first-chance exceptions only from your code, then you can enable the Just My Code option. With Just My Code enabled the debugger will only break on a first-chance exception if it passes through your code. These options don't affect the behavior of your application for a user, only what the debugger does when attached.

like image 184
Mike Zboray Avatar answered Oct 23 '22 07:10

Mike Zboray