Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / .NET / .NET4

How Dynamic Language Runtime(DLR) Feature in .NET Framework 4 is a Boon for Debugging COM Objects

5.00/5 (1 vote)
23 Jul 2010CPOL1 min read 13.3K  
How dynamic language runtime (DLR) festure in .NET Framework 4 is a book for debugging COM objects

The dynamic language runtime (DLR) is a new runtime environment that adds a set of services for dynamic languages to the CLR. For more details regarding new features of .NET Framework 4, please read New C# Features in the .NET Framework 4 and What's New in the .NET Framework 4.

In this blog, I’ll show how this feature can make life easy while developing/debugging COM applications and compare the same COM application running in frameworks prior to .NET Framework 4.

I’ll compare how easy it is to debug a Word Addin in .NET Framework 4 than frameworks prior to it, e.g., .NET Framework 3.5.

As displayed below, I’ve the screenshot from VS 2008 (.NET Framework 3.5) Quickwatch window:

image

I want to visualize the items of this collection so when I try to get the item at index 1 of COM object (ComAddIns in this example) .NET runtime throws exception as displayed below:

image

In VS 2010 (.NET Framework 4) Quickwatch window as highlighted in Red there is now a Dynamic View that displays members of the COM object I am debugging.

image

When the Watch window displays an object that implements the IDynamicMetaObjectProvider. interface, the debugger adds a special Dynamic View node to the watch display. The Dynamic View node shows members of the dynamic object but does not allow editing of the member values. For more information, please read Dynamic View.

Now I can view the item (ComAddin in this example) at index 1 of COMAddins object in .NET Framework 4 because of DLR as displayed below:

image

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)