public ConstExpression(Type value)
     : base(typeof(Type))
 {
     Validators.NullCheck(value, "value");
     _value  = value;
     _action = CompileType;
 }
 public ConstExpression(bool value)
     : base(typeof(bool))
 {
     _value  = value ? 1 : 0;
     _action = CompileInt;
 }
 public ConstExpression(byte value)
     : base(typeof(byte))
 {
     _value  = (int)value;
     _action = CompileInt;
 }
 public ConstExpression(string value)
     : base(typeof(string))
 {
     _value  = value;
     _action = CompileStr;
 }
 public ConstExpression(double value)
     : base(typeof(double))
 {
     _value  = value;
     _action = CompileDouble;
 }
 public ConstExpression(float value)
     : base(typeof(float))
 {
     _value  = value;
     _action = CompileFloat;
 }
 public ConstExpression(long value)
     : base(typeof(long))
 {
     _value  = value;
     _action = CompileLong;
 }
 public ConstExpression(int value)
     : base(typeof(int))
 {
     _value  = value;
     _action = CompileInt;
 }