c# - Bit Curious to understand Expression Tree in .NET -


I have read many articles and many stackoverflow.com posts are about expression trees. To understand this, my mind is beating.

Question:

1) Like the DOM (Document Object Model), is it an in-memory representation of logic?

2) Someone explained that this is a mechanism for translating an executable code into data, using it we can create a data structure that represents the code.

What does it mean, the expression tree is used to design user-defined patterns?

3) For most examples, Func & lt; & Gt; Expression tree in conjunction with representatives or other representatives, if representative and other programming creation, we can not achieve the same thing, as the expression tree works.

Beginning-wise interpretation is highly appreciated.

Expression trees represent the syntax tree of a single expression.

Each node of the tree shows some stable, object member references or operations.

For example, we can create and expression trees for expression:

  expression MakeBerry (Expression Type, Add Constant (2), Expression Constant (3));  

One of the most important expressions in such trees is that, remembering the Lambda functions of TDelegate that match the sign, allows writing in a good readable form. Here's the pre

  expression & lt; Funky & lt; Int & gt; & Gt; Sum = () = & gt; 2 + 3; // very good, right?  

But the expression is not representative, because it can not be executed directly.

Instead it can be crossed eg ex. For the creation of some executable representation, the builder with Examples.Compile () or SQL query with the visitor object may be built, compiledQuery.Compile () etc. Created by the LINQ query.

Expression is another useful application of trees being used to represent objects that would otherwise require the use of reflection. Reflection uses the string to represent the names of members and compile Does not check on time. Expression tree is examined, so fewer errors can be made.

  PropertyInfoProp1 = typeof (MyClass) .GetProperty ("value"); Expression & lt; Func & lt; MyClass, int & gt; & Gt; Expr = mc = & gt; Mc.Value; Property Info Prop 2 = (MC Body as Motivator). House as property;  

Comments

Popular posts from this blog

MySql variables and php -

url rewriting - How to implement the returnurl like SO in PHP? -

Which Python client library should I use for CouchdB? -