C# 4.0 Dynamic with Chris Burrows and Sam Ng

Download this episode

Download Video


In this video Microsoft developers Sam Ng and Chris Burrows discuss the new Dynamic feature that is part of the next version of C#. This feature provides enhanced interoperation with dynamic languages such as Ruby and Python, with dynamic models such as Silverlight JavaScript, and with COM objects, particularly those that you find in the Office APIs. With the addition of Dynamic to C# 4.0, it is now much easier to access Microsoft Office APIs from C#. Sam and Chris are both developers on the C# compiler team and both helped design the implementation of Dynamic found in C# 4.0.



Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • aL_

      very interesting video, and deep too Smiley but why isnt it on the main page?? alot of people will miss it if it doesnt displayed there... :/

    • Charles

      Because we didn't know about it. Fixed! Thanks for making content for C9, Charlie.


    • aL_

      sweet Smiley its a good and technical interview, those have been somewhat thin lately :/

    • wisnia

      Yes I agree! Now it would be nice to see some how-to/tutorial video with samples Smiley

    • Charles

      We'll keep more technical stuff coming (there's some great content in the pipeline). You will see more and more content coming from folks who work on product teams in addition to content from the C9 team. That's the future and it's exciting.


      In terms of more specific product deep dives + demo and code samples... Stay tuned... Smiley


    • cicero

      During the presentation it was mentioned that interop assemblies are optional. How about the XML source code documentation ? One of the advantages of using primary interop assemblies is to ship the XML source code documentation to the users machines so the users can use the intellisense. How is this supported in DLR?

    • Chris​Stepaniuk

      Too bad you guys didn't white board some examples.  Good video regardless Smiley

    • Charlie​Calvert

      For those of you looking for related material, check out the How Do I (HDI) videos on this page:



      Look for the "C# 4.0 Video Series," and for the "How do I use the Visual Studio IDE" series. We also put together some VB videos on the Visual Studio 2010 Beta 2, but they do not appear to be posted yet. There should appear here soon:



      For now, here are individual links to the VB posts:


      How Do I Use Autoimplemented Properties in Visual Basic will be at

      How Do I Use Implicit Line Continuation in Visual Basic 10 is


      - Charlie

    • Charlie​Calvert

      Folks asked about XML comments and the DLR. As best I can see, this feature isn't going to be supported with the DLR. The compiler (and IDE) have no idea what the metod that actually gets bound will be, so we cannot give XML documentation at Design Time. That's just the way Dynamic works. When we use Dynamic, the IDE and compiler don't, by definition, know how the call will be bound at runtime, so it doesn't attempt to give us the great support we get for static calls inside the IDE at Design Time. In general, support for dynamic is designed to give us a better option when calling methods dynamically, but there is no denying the advantages that accrue when we link statically at compile time. If you need to call into a dynamic API, then you get better support with C# 4.0 than you had earlier, but that doesn't mean you get all the support available when calling a static method with strict type checking. By the way, and to be sure that no one gets confused, when you are calling Office APIs from the VS 2010 IDE in C# 4.0, you will get good support from Intellisense. Intellisense works when you are calling Office APIs from Visual Studio 2010.

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.