thinhils / Eval-Expression.NET

C# Eval Function | Evaluate, Compile, and Execute C# code and expression at runtime.

Home Page:http://eval-expression.net/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Evaluate, Compile and Execute dynamic C# code and expression at runtime

From simple C# math expression...

int result = Eval.Execute<int>("X + Y", new { X = 1, Y = 2});

To complex code to parse.

int result = Eval.Execute<int>(@"
	var list = new List<int>() { 1, 2, 3, 4, 5 };
	var filter = list.Where(x => x < 4);
	return filter.Sum(x => x);");

Eval Expression.NET improve dramatically performance to access public and private method, field, property value or to create object instance over using C# reflection.

Download

download

PM> Install-Package Z.Expressions.Eval

* PRO Version unlocked for the current month

Stay updated with latest changes

Twitter Follow Facebook Like

Eval.Execute

Evaluate and execute the code or expression.

Support:

Anonymous Class

// using Z.Expressions; // Don't forget to include this.
int result = Eval.Execute<int>("X + Y", new { X = 1, Y = 2});

Argument Position

// using Z.Expressions; // Don't forget to include this.
int result = Eval.Execute<int>("{0} + {1}", 1, 2);

Class Member

// using Z.Expressions; // Don't forget to include this.
dynamic expandoObject = new ExpandoObject();
expandoObject.X = 1;
expandoObject.Y = 2;
int result = Eval.Execute<int>("X + Y", expandoObject);

Extension Methods

// using Z.Expressions; // Don't forget to include this.
string s = "X + Y";
int result = s.Execute<int>(new { X = 1, Y = 2 });

Learn more

Eval.Compile

Compile the code or expression and return a delegate.

Support:

Custom Delegate

// using Z.Expressions; // Don't forget to include this.
var compiled = Eval.Compile<Func<int, int, int>>("X + Y", "X", "Y");
foreach(var item in list)
{
	int result = compiled(item.Value1, item.Value2);
}

Extension Methods

// using Z.Expressions; // Don't forget to include this.
string s = "X + Y";
var compiled = s.Compile<Func<int, int, int>>("X", "Y");
foreach(var item in list)
{
	int result = compiled(item.Value1, item.Value2);
}

Learn more

What's supported?

Eval Expression.NET support all C# Syntax:

You can even access to C# 6.0 features even if you are using C# 4.0.

  • string interpolation
  • typename
  • null conditional member access

Learn more

PRO

Every month, a new monthly trial of the PRO Version is available to let you evaluate all its features without limitations.

Features PRO Version
Maximum Characters Unlimited
Commercial License Yes
Royalty-Free Yes
Support & Upgrades (1 year) Yes
Learn more about the PRO Version

Starting from version 2.x, there is no longer a free limited version.

Contribute

The best way to contribute is by spreading the word about the library:

  • Blog it
  • Comment it
  • Fork it
  • Star it
  • Share it

A HUGE THANKS for your help.

More Projects

Entity Framework

Bulk Operations

Expression Evaluator

Utilities

Need more info? info@zzzprojects.com

Contact our outstanding customer support for any request. We usually answer within the next business day, hour, or minutes!

About

C# Eval Function | Evaluate, Compile, and Execute C# code and expression at runtime.

http://eval-expression.net/

License:Other


Languages

Language:C# 100.0%