using Microsoft.CodeAnalysis.CSharp.Scripting;
using Microsoft.CodeAnalysis.Scripting;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace Tango.Scripting
{
public static class ExpressionGenerator
{
public static Func<T, bool> GenerateExpression<T>(String body, params Assembly[] assemblies)
{
var options = ScriptOptions.Default.AddReferences(assemblies);
Func<T, bool> func = CSharpScript.EvaluateAsync<Func<T, bool>>(body, options).Result;
return func;
}
}
}