public void Strings() { int i = 1; string x = "X"; ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((("a\n\\b" ?? x) + x).Length == 2) ? false : (true && (1m + (decimal)(-i) > 0m || false))); }
public void MembersBuiltin() { ExpressionTrees.ToCode(ExpressionTrees.X(), () => 1.23m.ToString()); ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((Enum)(object)AttributeTargets.All).HasFlag((Enum)AttributeTargets.Assembly)); ExpressionTrees.ToCode(ExpressionTrees.X(), () => "abc".Length == 3); ExpressionTrees.ToCode(ExpressionTrees.X(), () => 'a'.CompareTo('b') < 0); }
public static void ObjectInit() { ExpressionTrees.ToCode(null, () => new SimpleType { Property = 4, Field = 3 }); }
public void TypedConstant() { ExpressionTrees.ToCode(ExpressionTrees.X(), () => new Type[2] { typeof(int), typeof(string) }); }
public void AnonymousClasses() { ExpressionTrees.ToCode(ExpressionTrees.X(), () => new { X = 3, A = "a" }); }
public void ListInitializer3() { ExpressionTrees.ToCode(ExpressionTrees.X(), () => new List <int> { 1, 2, 3 }.Count == 3); }
public void ArrayIndex() { ExpressionTrees.ToCode(ExpressionTrees.X(), () => (new int[3] { 3, 4, 5 })[0 + (int)(DateTime.Now.Ticks % 3)]); }
public static void Call() { ExpressionTrees.ToCode(null, (string a) => Console.WriteLine(a)); ExpressionTrees.Test((Func <string, string>)((string a) => a.ToString()), (Expression <Func <string, string> >)((string a) => a.ToString())); ExpressionTrees.Test((Func <int, string>)((int a) => a.ToString()), (Expression <Func <int, string> >)((int a) => a.ToString())); ExpressionTrees.Test((Func <string, char[]>)((string a) => a.ToArray()), (Expression <Func <string, char[]> >)((string a) => a.ToArray())); ExpressionTrees.Test((Func <bool>)(() => 'a'.CompareTo('b') < 0), (Expression <Func <bool> >)(() => 'a'.CompareTo('b') < 0)); }
public void MethodGroupAsExtensionMethod() { ExpressionTrees.ToCode(ExpressionTrees.X(), (Expression <Func <Func <bool> > >)(() => ((IEnumerable <int>) new int[4] { 2000, 2004, 2008, 2012 }).Any <int>)); }
public void NotOperator() { bool x = true; int y = 3; byte z = 42; ExpressionTrees.ToCode(ExpressionTrees.X(), () => ~z == 0); ExpressionTrees.ToCode(ExpressionTrees.X(), () => ~y == 0); ExpressionTrees.ToCode(ExpressionTrees.X(), () => !x); }
public void QuotedWithAnonymous() { ExpressionTrees.ToCode(ExpressionTrees.X(), () => (from o in new[] { new { X = "a", Y = "b" } } select o.X + o.Y).Single()); }
public void MembersDefault() { ExpressionTrees.ToCode(ExpressionTrees.X(), () => default(DateTime).Ticks == 0); ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((Array)null).Length == 0); ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((Type)null).IsLayoutSequential); ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((List <int>)null).Count); ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((Array)null).Clone() == null); ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((Type)null).IsInstanceOfType(new object())); ExpressionTrees.ToCode(ExpressionTrees.X(), () => ((List <int>)null).AsReadOnly()); }
public void ArrayLengthAndDoubles() { ExpressionTrees.ToCode(ExpressionTrees.X(), () => new double[3] { 1.0, 2.01, 3.5 }.Concat(new double[2] { 1.0, 2.0 }).ToArray().Length); }
public void NestedLambda2() { ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.Fizz((string x) => x == "a")); ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.Fizz((string x) => x != "a")); ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.Fizz((Action x) => x == new Action(this.NestedLambda2))); ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.Fizz((Action x) => x != new Action(this.NestedLambda2))); ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.Fizz((int x) => x == 37)); ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.Fizz((int x) => true)); ExpressionTrees.ToCode(ExpressionTrees.X(), () => this.Buzz((int x) => true)); }
public static void FieldAndPropertyAccess() { ExpressionTrees.ToCode(null, () => 1); ExpressionTrees.ToCode(null, () => SimpleType.StaticField); ExpressionTrees.ToCode(null, () => SimpleType.StaticReadonlyField); ExpressionTrees.ToCode(null, () => SimpleType.StaticProperty); ExpressionTrees.ToCode(null, () => SimpleType.StaticReadonlyProperty); ExpressionTrees.ToCode(null, (SimpleType a) => a.Field); ExpressionTrees.ToCode(null, (SimpleType a) => a.Property); ExpressionTrees.ToCode(null, (SimpleType a) => a.ReadonlyField); ExpressionTrees.ToCode(null, (SimpleType a) => a.ReadonlyProperty); }
public void ObjectInitializers() { XmlReaderSettings s = new XmlReaderSettings { CloseInput = false, CheckCharacters = false }; ExpressionTrees.ToCode(ExpressionTrees.X(), () => new XmlReaderSettings { CloseInput = s.CloseInput, CheckCharacters = s.CheckCharacters }.Equals(s)); }
public void NewArrayAndExtensionMethod() { ExpressionTrees.ToCode(ExpressionTrees.X(), () => new double[3] { 1.0, 2.01, 3.5 }.SequenceEqual(new double[3] { 1.0, 2.01, 3.5 })); }
public void ListInitializer() { ExpressionTrees.ToCode(ExpressionTrees.X(), () => new Dictionary <int, int> { { 1, 1 }, { 2, 2 }, { 3, 4 } }.Count == 3); }
public void NestedLambda() { Func <Func <int>, int> call = (Func <int> f) => f(); //no params ExpressionTrees.ToCode(ExpressionTrees.X(), () => call(() => 42)); //one param ExpressionTrees.ToCode(ExpressionTrees.X(), () => from x in new int[2] { 37, 42 } select x * 2); //two params ExpressionTrees.ToCode(ExpressionTrees.X(), () => new int[2] { 37, 42 }.Select((int x, int i) => x * 2)); }
public static void BinaryLogicalOperators() { ExpressionTrees.ToCode(null, (int a, int b) => a == b); ExpressionTrees.ToCode(null, (int a, int b) => a != b); ExpressionTrees.ToCode(null, (int a, int b) => a < b); ExpressionTrees.ToCode(null, (int a, int b) => a <= b); ExpressionTrees.ToCode(null, (int a, int b) => a > b); ExpressionTrees.ToCode(null, (int a, int b) => a >= b); ExpressionTrees.ToCode(null, (int a, int b) => a == 1 && b == 2); ExpressionTrees.ToCode(null, (int a, int b) => a == 1 || b == 2); ExpressionTrees.ToCode(null, (int a, short b) => a == b); ExpressionTrees.ToCode(null, (ushort a, int b) => a != b); ExpressionTrees.ToCode(null, (int a, long b) => (long)a < b); ExpressionTrees.ToCode(null, (ulong a, uint b) => a <= (ulong)b); ExpressionTrees.ToCode(null, (int a, uint b) => (long)a <= (long)b); ExpressionTrees.ToCode(null, (int a, long b) => (long)a > b); ExpressionTrees.ToCode(null, (short a, long b) => (long)a >= b); ExpressionTrees.ToCode(null, (int a, int b) => a == 1 && b == 2); ExpressionTrees.ToCode(null, (int a, int b) => a == 1 || b == 2); }
public void MethodGroupConstant() { ExpressionTrees.ToCode(ExpressionTrees.X(), () => Array.TrueForAll(new int[4] { 2000, 2004, 2008, 2012 }, DateTime.IsLeapYear)); HashSet <int> set = new HashSet <int>(); ExpressionTrees.ToCode(ExpressionTrees.X(), () => new int[4] { 2000, 2004, 2008, 2012 }.All(set.Add)); Func <Func <object, object, bool>, bool> sink = (Func <object, object, bool> f) => f(null, null); ExpressionTrees.ToCode(ExpressionTrees.X(), () => sink(object.Equals)); }
public void Parameter(bool a) { ExpressionTrees.ToCode(ExpressionTrees.X(), () => a); }
public void LocalVariable() { bool a = true; ExpressionTrees.ToCode(ExpressionTrees.X(), () => a); }
public void InvokeGenericMethod() { ExpressionTrees.ToCode(ExpressionTrees.X(), () => GenericClass <int> .GenericMethod <double>()); }
public void AddOperator(int x) { ExpressionTrees.ToCode(ExpressionTrees.X(), () => 1 + x + 2); }
public static void ConditionalOperator() { ExpressionTrees.ToCode(null, (bool a) => a ? 5 : 10); ExpressionTrees.ToCode(null, (object a) => a ?? new MyClass()); }
public void LambdaParameter() { ExpressionTrees.ToCode(ExpressionTrees.X(), (bool a) => a); }
public void GenericClassInstance() { ExpressionTrees.ToCode(ExpressionTrees.X(), () => (double)new GenericClass <int>().InstanceField + new GenericClass <double>().InstanceProperty); }
public void StaticMembers() { ExpressionTrees.ToCode(ExpressionTrees.X(), () => (DateTime.Now > DateTime.Now + TimeSpan.FromMilliseconds(10.001)).ToString() == "False"); }
public void GenericClassStatic() { ExpressionTrees.ToCode(ExpressionTrees.X(), () => (double)GenericClass <int> .StaticField + GenericClass <double> .StaticProperty); }