LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

cs-script:一个非常成熟的C#脚本开源引擎

admin
2024年12月23日 23:39 本文热度 182

推荐一个强大C#脚本引擎,方便我们在项目中,动态执行C#脚本。

01

项目简介

CS-Script是非常成熟的C#脚本引擎,自2004年起就发布了,即.NET发布后的两年。

支持托管和独立(CLI)执行模型,可以作为PowerShell的纯C#替代品,也可以通过托管脚本引擎在运行时扩展.NET应用程序。

允许在不影响代码库的情况下无缝切换底层编译技术,目前支持的编译器有dotnet.exe和csc.exe。

02

开发工具支持与平台兼容

与Visual Studio、VSCode、Sublime Text 3等开发工具有良好的集成,可以在Windows和Linux上运行,类库针对".NET Standard"进行编译,因此可以被任何托管应用程序托管。

03

使用方法

1、安装依赖库

Install-Package CS-Script

2、有返回值的的动态脚本

using CSScriptLib; 
// 使用CS-Script的Evaluator静态类加载一个动态方法// 这个方法接受一个字符串形式的C#代码,并编译执行它dynamic script = CSScript.Evaluator    .LoadMethod(@"int Product(int a, int b)                       {                           return a * b; // 计算两个数的乘积                       }");
// 调用加载的方法,并传入两个参数3和2int result = script.Product(3, 2);
// 输出结果到控制台Console.WriteLine(result); // 输出:6

3、无返回值的动态脚本

using CSScriptLib;
// 使用CS-Script的Evaluator静态类创建一个委托(Delegate)// 这个委托指向一个接受一个字符串参数的方法,该方法将字符串输出到控制台var log = CSScript.Evaluator                  .CreateDelegate(@"void Log(string message)                                    {                                        Console.WriteLine(message); // 使用Console.WriteLine将传入的消息输出到控制台                                    }");
// 调用创建的委托,并传入字符串"Test message"log("Test message"); // 执行Log方法,输出"Test message"到控制台

4、简单表达式脚本

using CSScriptLib; 
// 使用CS-Script的Evaluator静态类的Eval方法直接评估一个C#表达式// 这里评估的表达式是"6 + 3",即计算6和3的和int sum = CSScript.Evaluator.Eval("6 + 3");
// 输出计算结果到控制台Console.WriteLine(sum); // 打印计算结果,即9
5、实现了特定接口的C#脚本
using CSScriptLib; 
// 使用CS-Script的Evaluator静态类的LoadCode方法加载一个实现了ICalc接口的C#脚本// 这个脚本定义了一个名为Script的类,它实现了ICalc接口中的Sum方法ICalc calc = CSScript.Evaluator    .LoadCode<ICalc>(@"using System;                        public class Script: ICalc // 继承ICalc接口                        {                            public int Sum(int a, int b) // 实现Sum方法                            {                                return a + b; // 返回两个整数的和                            }                        }");
// 调用加载的脚本中的Sum方法,并传入参数1和2int result = calc.Sum(1, 2);
// 输出结果到控制台Console.WriteLine(result); // 打印Sum方法的执行结果,即3

04

项目地址

https://github.com/oleg-shilo/cs-script

- End -


该文章在 2024/12/24 10:05:14 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved