コード例 #1
0
 public ConditionExpression(IResultExpression <TConditionParameter, bool> condition,
                            IParameterlessResultExpression <TResult> ifExpression,
                            IParameterlessResultExpression <TResult> elseExpression)
     : base(Native.Expression.Condition(condition.GetNativeExpression(), ifExpression.GetNativeExpression(),
                                        elseExpression.GetNativeExpression()))
 {
     _parameter = condition.GetParameter();
 }
コード例 #2
0
 internal BinaryExpression(
     Func <Native.Expression, Native.Expression, Native.BinaryExpression> nativeExpression,
     IParameterlessResultExpression <TCurrent> left,
     IResultExpression <TPrevious, TCurrent> right)
     : base(nativeExpression(left.GetNativeExpression(), right.GetNativeExpression()))
 {
     _container = new SingleParameterCompilableContainer <TPrevious, TResult>(right.GetParameter());
 }
コード例 #3
0
 public ConstantConditionExpression(IParameterlessResultExpression <bool> condition,
                                    IParameterlessResultExpression <TResult> ifExpression,
                                    IResultExpression <TParameter, TResult> elseExpression)
     : base(Native.Expression.Condition(condition.GetNativeExpression(), ifExpression.GetNativeExpression(),
                                        elseExpression.GetNativeExpression()))
 {
     _container = new SingleParameterCompilableContainer <TParameter, TResult>(elseExpression.GetParameter());
 }
コード例 #4
0
 public AddExpression(IResultExpression <T, TResult> inner, IParameterlessResultExpression <TResult> constant)
     : base(Native.BinaryExpression.Add, inner, constant)
 {
 }
コード例 #5
0
 public GreaterThanExpression(IResultExpression <T, TResult> inner,
                              IParameterlessResultExpression <TResult> constant)
     : base(Native.BinaryExpression.GreaterThan, inner, constant)
 {
 }
コード例 #6
0
 public MultiplyExpression(IParameterlessResultExpression <TResult> constant,
                           IResultExpression <T, TResult> inner)
     : base(Native.BinaryExpression.Multiply, constant, inner)
 {
 }
コード例 #7
0
 public ConvertExpression(IResultExpression <TPrevious, TCurrent> innerExpression)
     : base(q => Native.Expression.Convert(q, typeof(TResult)), innerExpression)
 {
 }
コード例 #8
0
 public static ConvertExpression <TPrevious, TCurrent, int> ConvertToInt <TPrevious, TCurrent>(
     IResultExpression <TPrevious, TCurrent> inner)
     where TCurrent : struct
 => new ConvertExpression <TPrevious, TCurrent, int>(
コード例 #9
0
 public EqualExpression(IParameterlessResultExpression <TResult> constant, IResultExpression <T, TResult> inner)
     : base(Native.BinaryExpression.Equal, constant, inner)
 {
 }
コード例 #10
0
 public static IncrementExpression <T, TResult> Increment <T, TResult>(IResultExpression <T, TResult> inner)
 => new IncrementExpression <T, TResult>(inner ?? throw new ArgumentNullException(nameof(inner)));
コード例 #11
0
 internal UnaryExpression(
     Func <Native.Expression, Native.UnaryExpression> nativeExpression,
     IResultExpression <TPrevious, TCurrent> inner) : base(nativeExpression(inner.GetNativeExpression()))
 {
     _container = new SingleParameterCompilableContainer <TPrevious, TResult>(inner.GetParameter());
 }
コード例 #12
0
 public IncrementExpression(IResultExpression <T, TResult> innerExpression)
     : base(Native.Expression.Increment, innerExpression)
 {
 }
コード例 #13
0
 public OrExpression(IParameterlessResultExpression <TResult> constant, IResultExpression <T, TResult> parameter)
     : base(Native.BinaryExpression.Or, constant, parameter)
 {
 }
コード例 #14
0
 public NotExpression(IResultExpression <T, TResult> innerExpression)
     : base(Native.Expression.Not, innerExpression)
 {
 }