当前位置: 首页 > 工具软件 > xml-eval > 使用案例 >

C# EVAL EXPRESSION ——表达式引擎Eval Expression

姚高韵
2023-12-01

序言

在某些项目中,引入公式也是一个方便用户的需求,C#公式库最有名的莫过于Eval Expression,
看个例子:

var compiled_3 = Eval.Compile<Func<string, string, string>>("var a=  X.ToUpper() + Y; var b=  X.ToUpper() + Y;var c=  X.ToUpper() + Y;var d=  X.ToUpper() + Y;" +
                "var a1=  X.ToUpper() + Y; var b2=  X.ToUpper() + Y;var c2=  X.ToUpper() + Y;var d2=  X.ToUpper() + Y;" +
                "return a +d;", "X", "Y");
var results = compiled_3("City", "ABC");

是的,这个样子操作,感觉c#就是一个脚本语言了。

推荐

公式操作、表达式动态语句,可以考虑使用 Eval Expression。

解决方案:利用Eval Expression插件
插件官网:http://eval-expression.net/

特别文件

基于net5,我准备了特别文件 ,不需要每个月的重新下载了,可以使用到2099年。 下载参见地址

使用说明

因为是引用dll的关系,需要自己配置需要的包,包清单如下:

<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="5.0.0" />
<PackageReference Include="Microsoft.OData.Core" Version="7.8.3" />
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
<PackageReference Include="System.Collections.Concurrent" Version="4.3.0" />
<PackageReference Include="System.Collections.NonGeneric" Version="4.3.0" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="4.5.0" />
<PackageReference Include="System.Data.Common" Version="4.3.0" />
<PackageReference Include="System.Linq.Queryable" Version="4.3.0" />
<PackageReference Include="System.Reflection.Emit" Version="4.7.0" />
<PackageReference Include="System.Reflection.TypeExtensions" Version="4.5.0" />
<PackageReference Include="System.Xml.XPath" Version="4.3.0" />
 类似资料: