We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Metamagical programming with expression trees

Formal Metadata

Title
Metamagical programming with expression trees
Title of Series
Number of Parts
170
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
If the world of fantasy has taught us anything, it is that the oldest magic is the most powerful magic. In the realm of computing, no magic is more ancient than the one that arises from the duality of code and data. The ability to treat code as data and data as code is at the core of LISPs legendary meta-programming capabilities, but the idea is even older than that - it echoes the spectre of von Neumann himself! With expression trees, the enabling technology behind LINQ and the dynamic language runtime, .NET programmers have access to a beautiful programming model to control this ancient magic. In this demo-driven session, we will start with some simple examples to explain the basics of working with expression trees. However, we will quickly progress to something more useful and powerful, as we consider how to build a DSL for expressing rules to be compiled and evaluated at runtime. We will end up with a complete real-world example using data validation in an ASP.NET MVC application that would be infeasible without the capabilities offered by expression trees.