using System.Collections.Generic;
using CodingSeb.ExpressionEvaluator;
public class TestClassForPrivateFields
return "Hey I am private";
private string PrivateMethod()
return "Hello from a private place";
public static void Main()
ExpressionEvaluator evaluator = new ExpressionEvaluator(new Dictionary<string, object>()
{"myVar", new TestClassForPrivateFields()}
List<string> expressions = new List<string>()
Console.WriteLine("Test Expressions without OptionAllowNonPublicMembersAccess.");
Console.WriteLine(string.Empty);
expressions.ForEach(expression =>
Console.WriteLine(expression);
Console.WriteLine(evaluator.Evaluate(expression));
catch(Exception exception)
Console.WriteLine(exception);
Console.WriteLine(string.Empty);
evaluator.OptionAllowNonPublicMembersAccess = true;
Console.WriteLine("Test Expressions with OptionAllowNonPublicMembersAccess = true");
Console.WriteLine(string.Empty);
expressions.ForEach(expression =>
Console.WriteLine(expression);
Console.WriteLine(evaluator.Evaluate(expression));
catch(Exception exception)
Console.WriteLine(exception);
Console.WriteLine(string.Empty);