All Projects → zzzprojects → Eval Expression.net

zzzprojects / Eval Expression.net

Licence: other
C# Eval Expression | Evaluate, Compile, and Execute C# code and expression at runtime.

Programming Languages

csharp
926 projects

Projects that are alternatives of or similar to Eval Expression.net

eval-estree-expression
Safely evaluate JavaScript (estree) expressions, sync and async.
Stars: ✭ 22 (-91.88%)
Mutual labels:  evaluation, eval
Eval Sql.net
SQL Eval Function | Dynamically Evaluate Expression in SQL Server using C# Syntax
Stars: ✭ 84 (-69%)
Mutual labels:  evaluation, eval
Expressionevaluator
A Simple Math and Pseudo C# Expression Evaluator in One C# File. Can also execute small C# like scripts
Stars: ✭ 194 (-28.41%)
Mutual labels:  evaluation, eval
image-matching-toolbox
This is a toolbox repository to help evaluate various methods that perform image matching from a pair of images.
Stars: ✭ 252 (-7.01%)
Mutual labels:  evaluation
midi degradation toolkit
A toolkit for generating datasets of midi files which have been degraded to be 'un-musical'.
Stars: ✭ 29 (-89.3%)
Mutual labels:  evaluation
jseval
Evaluate JavaScript on a URL through headless Chrome browser.
Stars: ✭ 19 (-92.99%)
Mutual labels:  eval
Semantic Kitti Api
SemanticKITTI API for visualizing dataset, processing data, and evaluating results.
Stars: ✭ 272 (+0.37%)
Mutual labels:  evaluation
Machine-learning-toolkits-with-python
Machine learning toolkits with Python
Stars: ✭ 31 (-88.56%)
Mutual labels:  evaluation
booleval
Header-only C++17 library for evaluating logical expressions.
Stars: ✭ 54 (-80.07%)
Mutual labels:  evaluation
edd
Erlang Declarative Debugger
Stars: ✭ 20 (-92.62%)
Mutual labels:  evaluation
deobfuscator
Online Javascript Deobfuscator Tool
Stars: ✭ 46 (-83.03%)
Mutual labels:  eval
AIODrive
Official Python/PyTorch Implementation for "All-In-One Drive: A Large-Scale Comprehensive Perception Dataset with High-Density Long-Range Point Clouds"
Stars: ✭ 32 (-88.19%)
Mutual labels:  evaluation
angular-expression-parser
This library helps in achieving AngularJs equivalents of $parse, $eval and $watch in Angular.
Stars: ✭ 17 (-93.73%)
Mutual labels:  eval
visual7w-toolkit
Toolkit for Visual7W visual question answering dataset
Stars: ✭ 59 (-78.23%)
Mutual labels:  evaluation
summary-explorer
Summary Explorer is a tool to visually explore the state-of-the-art in text summarization.
Stars: ✭ 34 (-87.45%)
Mutual labels:  evaluation
WhatsMissingInGeoparsing
The accompanying code and data for the Springer 2017 publication "What's missing in geographical parsing?" in Language Resources and Evaluation.
Stars: ✭ 15 (-94.46%)
Mutual labels:  evaluation
travelling-salesman
Rules for Kiwi.com travelling salesman competition
Stars: ✭ 14 (-94.83%)
Mutual labels:  evaluation
bcx-expression-evaluator
Safely evaluate JavaScript-like expression in given context.
Stars: ✭ 19 (-92.99%)
Mutual labels:  eval
webMUSHRA
a MUSHRA compliant web audio API based experiment software
Stars: ✭ 171 (-36.9%)
Mutual labels:  evaluation
Superpixel Benchmark
An extensive evaluation and comparison of 28 state-of-the-art superpixel algorithms on 5 datasets.
Stars: ✭ 275 (+1.48%)
Mutual labels:  evaluation

What's Eval Expression.NET?

Eval Expression.NET improves performance dramatically to access public and private methods, field, property value, or create object instances overusing C# reflection.

It allows you to 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);");

Download

download

PM> Install-Package Z.Expressions.Eval

* PRO Version unlocked for the current month

Stay updated with the 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 supports 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.
  • LINQ extension method is free with EF Classic - Community

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

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].