Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the best source of information on the DLR (.NET 4.0 beta 1)?

Tags:

I'm currently researching the 2nd edition of C# in Depth, and trying to implement "dynamic protocol buffers" - i.e. a level of dynamic support on top of my existing protocol buffer library. As such, I have a DlrMessage type derived from DynamicObject. After a little bit of playing around I've managed to get it to respond to simple properties with remarkably little code, but I want to go a lot further - and to really understand what's going on.

So far I haven't found any good explanations of the DLR - and a lot of the blog posts are effectively out of date now, as things have changed (I believe) between the previous CTP and .NET 4.0 beta 1. The MSDN documentation for DynamicObject is pretty minimal at the moment.

My most immediate query is whether there's a simple way of saying, "Use reflection to bind any calls I can't handle, using this particular object." (In other words, I want to augment the existing reflection binding rather than doing everything myself, if possible.) Unfortunately I'm not getting very far by guesswork.

Are there any definitive and recent sources of documentation I should know about? I'm aware that part of writing about a new technology is exploration, but a helping hand would be appreciated :)

like image 563
Jon Skeet Avatar asked May 31 '09 14:05

Jon Skeet


People also ask

What is the open source version of the DLR?

The open-source version of the DLR has all the features of the DLR that is included in Visual Studio and the .NET Framework. It also provides additional support for language implementers.

What is the difference between DLR and NET Framework?

The DLR and the .NET Framework automate a lot of code analysis and code generation tasks. This enables language implementers to concentrate on unique language features. Existing .NET Framework languages such as C# and Visual Basic can create dynamic objects and use them together with statically typed objects.

What is DLR in C++?

The dynamic language runtime (DLR) is a runtime environment that adds a set of services for dynamic languages to the common language runtime (CLR). The DLR makes it easier to develop dynamic languages to run on the.NET Framework and to add dynamic features to statically typed languages.

What is the Dynamic Language Runtime (DLR)?

The DLR adds dynamic objects to C# and Visual Basic to support dynamic behavior in these languages and enable their interoperation with dynamic languages. The DLR also helps you create libraries that support dynamic operations.


2 Answers

Best source I've found and read frequently is the last years worth of Chris Burrow's posts on his blog.

There's also the official DLR documentation page which is off the main DLR site.

like image 148
TheSoftwareJedi Avatar answered Sep 30 '22 19:09

TheSoftwareJedi


I too am researching this at the moment and there is not too much info yet. I cant help with your query but below is some information I have found:

There is a fair amount within the PDC videos.

http://channel9.msdn.com/pdc2008/TL44/

http://channel9.msdn.com/pdc2008/TL10/

This article talks about how the DLR works with IronPython: http://msdn.microsoft.com/en-us/magazine/cc163344.aspx

There is a very small amount in the training kit preview at: http://www.microsoft.com/downloads/details.aspx?FamilyID=752cb725-969b-4732-a383-ed5740f02e93&displayLang=en

Hope this helps

Alex

like image 21
alexmac Avatar answered Sep 30 '22 18:09

alexmac