Eval-Expression.NET:动态执行C

玩点科技新鲜事 2024-04-06 02:54:49
我是编程乐趣,一个10年.Net开发经验老程序员,点击右上方“关注”,每天为你分享开源项目和编程知识。 我们都知道在JavaScript中,我们可以通过Eval来执行JavaScript字符串代码。 下面推荐一个.Net版本的Eval的开源项目。 01 项目简介 Eval-Expression.NET是一个非常强大工具,使得开发人员可以动态编译和执行C#代码和表达式。通过C#反射,还能轻松访问公共和私有方法、字段、属性值,并创建对象实例。 02 使用示例 1、依赖库安装 Install-Package Z.Expression.NET2、简单公式 using Z.Expressions;int result = Eval.Execute("X + Y", new { X = 1, Y = 2 });//输出 3Console.WriteLine(result);3、复杂代码 using Z.Expressions;int result = Eval.Execute(@" var list = new List() { 1, 2, 3, 4, 5 }; var filter = list.Where(x => x < 4); return filter.Sum(x => x);");//输出 6Console.WriteLine(result);4、参数占位符 int result = Eval.Execute("{0} + {1}", 1, 2);5、动态类的属性 dynamic expandoObject = new ExpandoObject();expandoObject.X = 1;expandoObject.Y = 2;int result = Eval.Execute("X + Y", expandoObject);6、字符串扩展方法 string s = "X + Y";int result = s.Execute(new { X = 1, Y = 2 });7、委托 using Z.Expressions;//委托var compiled = Eval.Compile
0 阅读:1

玩点科技新鲜事

简介:感谢大家的关注