Skip to content

Commit 1fb5134

Browse files
committed
Fix for DynamicExpressionParser : allow empty parameter lists
1 parent b834cd9 commit 1fb5134

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/System.Linq.Dynamic.Core/DynamicExpressionParser.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public static LambdaExpression ParseLambda([NotNull] ParameterExpression[] param
9898
[PublicAPI]
9999
public static LambdaExpression ParseLambda(bool createParameterCtor, [NotNull] ParameterExpression[] parameters, [CanBeNull] Type resultType, [NotNull] string expression, params object[] values)
100100
{
101-
Check.NotEmpty(parameters, nameof(parameters));
101+
Check.NotNull(parameters, nameof(parameters));
102102
Check.Condition(parameters, p => p.Count(x => x == null) == 0, nameof(parameters));
103103
Check.NotEmpty(expression, nameof(expression));
104104

test/System.Linq.Dynamic.Core.Tests/DynamicExpressionParserTests.cs

+14
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,20 @@ private class ComplexParseLambda1Result
2323
public int TotalIncome;
2424
}
2525

26+
[Fact]
27+
public void Parse_EmptyParameterList()
28+
{
29+
// Arrange
30+
var pEmpty = new ParameterExpression[] { };
31+
32+
// Act
33+
var @delegate = DynamicExpressionParser.ParseLambda(pEmpty, null, "1+2").Compile();
34+
int? result = @delegate.DynamicInvoke() as int?;
35+
36+
// Assert
37+
Check.That(result).Equals(3);
38+
}
39+
2640
[Fact]
2741
public void Parse_Lambda1()
2842
{

0 commit comments

Comments
 (0)