<?xml version="1.0" encoding='utf-8'?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="card1" title="C Sharp 3.0 - Page 11 - Wikipedia">
<p>
<a accesskey="1" href="page.php?w=C_Sharp_3.0&amp;p=10">1.Previous</a><br />
<a accesskey="3" href="page.php?w=C_Sharp_3.0&amp;p=12">3.Next</a>
</p>
<p>but a wrapper around a database table, it could use this technique to translate the body of the lambda into the equivalent SQL expression for optimized execution. Either way, the lambda expression itself looks exactly the same in the code, so the way it is used at run-time is transparent to the client.</p>

<p><big> Expression trees </big></p>
<p>Expressions, such as <code>x <= y</code>, <code>a = b + c</code>, or even lambda functions and other complex forms can be created dynamically using <a href="page.php?w=expression_tree">expression tree</a>s. Much of the functionality is provided by static methods of the class <code>System.Linq.Expressions.Expression</code>. There are also various new classes in that namespace that represent the expressions and partial expressions created by those methods as software objects.  These include <code>BinaryExpression</code>, which could represent <code>x <= y</code>; <code>LambdaExpression</code> and many others.  When combined with aspects of the <a href="page.php?w=Reflection_%28computer_science%29">reflection</a> API, this can be a very powerful tool, if a little challenging to write and debug.</=></code></=></code></p><p>
<a accesskey="1" href="page.php?w=C_Sharp_3.0&amp;p=10">1.Previous</a><br />
<a accesskey="3" href="page.php?w=C_Sharp_3.0&amp;p=12">3.Next</a>
</p>

<do type="prev" label="Search">
        <go href="search.wml"/>
</do>

</card>
</wml>
