diff --git a/GrobExp.Compiler.Tests/Test.cs b/GrobExp.Compiler.Tests/Test.cs index fde0191..248d2d7 100644 --- a/GrobExp.Compiler.Tests/Test.cs +++ b/GrobExp.Compiler.Tests/Test.cs @@ -24,7 +24,8 @@ public void TestNullable() public void TestLambdaExpressionCreator() { Expression> e = x => x.Substring(1, 2); - LambdaExpressionCreator.Create>(e.Body, e.Parameters.ToArray()); + var lambda = LambdaExpressionCreator.Create>(e.Body, e.Parameters.ToArray()); + Assert.That(lambda.Compile()("abcd"), Is.EqualTo("bc")); } [Test] diff --git a/GrobExp.Compiler/LambdaExpressionCreator.cs b/GrobExp.Compiler/LambdaExpressionCreator.cs index f7b492c..c5fed5d 100644 --- a/GrobExp.Compiler/LambdaExpressionCreator.cs +++ b/GrobExp.Compiler/LambdaExpressionCreator.cs @@ -69,7 +69,7 @@ private static LambdaCreateDelegate BuildLambdaFactory(Type delegateType) il.Ldarg(1); il.Ldarg(2); il.Ldarg(3); - il.Callnonvirt(resultType.GetMethods(BindingFlags.NonPublic | BindingFlags.Static).Single(x => x.Name == "Create")); + il.Callnonvirt(resultType.GetMethod("Create", BindingFlags.NonPublic | BindingFlags.Static)); il.Ret(); } return (LambdaCreateDelegate)method.CreateDelegate(typeof(LambdaCreateDelegate));