title: How to create "System.Linq.Expression" expression dynamically with parentheses
body: <p>I have a need to create expressions dynamically. My question is How to add parentheses in System.Linq.Expression to handle precedence...</p>
  
  <p><code>int a = 1, b = 1, c = 1, d = 2;</code></p>
  
  <p>I have converted below expression </p>
  
  <pre><code> var v = a &gt; 1 || b &gt; 1 &amp;&amp; c &gt; 1 || d &gt; 1;
   Expression case1Expr =
  
                  Expression.AndAlso(
                  Expression.OrElse(
                  Expression.GreaterThan(Expression.Parameter(typeof(int), "a"), Expression.Constant(1)),
                  Expression.GreaterThan(Expression.Parameter(typeof(int), "b"), Expression.Constant(1))),
  
  
                  Expression.OrElse(
                  Expression.GreaterThan(Expression.Parameter(typeof(int), "c"), Expression.Constant(1)),
                  Expression.GreaterThan(Expression.Parameter(typeof(int), "d"), Expression.Constant(1))));
  </code></pre>
  
  <p>But how to convert one with parentheses, </p>
  
  <pre><code>var v2 = (a &gt; 1 || b &gt; 1) &amp;&amp; (c &gt; 1 || d &gt; 1);
  </code></pre>