LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

cs-script:一個非常成熟的C#腳本開源引擎

admin
2024年12月23日 23:39 本文熱度 444

推薦一個強大C#腳本引擎,方便我們在項目中,動態(tài)執(zhí)行C#腳本。

01

項目簡介

CS-Script是非常成熟的C#腳本引擎,自2004年起就發(fā)布了,即.NET發(fā)布后的兩年。

支持托管和獨立(CLI)執(zhí)行模型,可以作為PowerShell的純C#替代品,也可以通過托管腳本引擎在運行時擴展.NET應用程序。

允許在不影響代碼庫的情況下無縫切換底層編譯技術,目前支持的編譯器有dotnet.exe和csc.exe。

02

開發(fā)工具支持與平臺兼容

與Visual Studio、VSCode、Sublime Text 3等開發(fā)工具有良好的集成,可以在Windows和Linux上運行,類庫針對".NET Standard"進行編譯,因此可以被任何托管應用程序托管。

03

使用方法

1、安裝依賴庫

Install-Package CS-Script

2、有返回值的的動態(tài)腳本

using CSScriptLib; 
// 使用CS-Script的Evaluator靜態(tài)類加載一個動態(tài)方法// 這個方法接受一個字符串形式的C#代碼,并編譯執(zhí)行它dynamic script = CSScript.Evaluator    .LoadMethod(@"int Product(int a, int b)                       {                           return a * b; // 計算兩個數(shù)的乘積                       }");
// 調(diào)用加載的方法,并傳入兩個參數(shù)3和2int result = script.Product(3, 2);
// 輸出結(jié)果到控制臺Console.WriteLine(result); // 輸出:6

3、無返回值的動態(tài)腳本

using CSScriptLib;
// 使用CS-Script的Evaluator靜態(tài)類創(chuàng)建一個委托(Delegate)// 這個委托指向一個接受一個字符串參數(shù)的方法,該方法將字符串輸出到控制臺var log = CSScript.Evaluator                  .CreateDelegate(@"void Log(string message)                                    {                                        Console.WriteLine(message); // 使用Console.WriteLine將傳入的消息輸出到控制臺                                    }");
// 調(diào)用創(chuàng)建的委托,并傳入字符串"Test message"log("Test message"); // 執(zhí)行Log方法,輸出"Test message"到控制臺

4、簡單表達式腳本

using CSScriptLib; 
// 使用CS-Script的Evaluator靜態(tài)類的Eval方法直接評估一個C#表達式// 這里評估的表達式是"6 + 3",即計算6和3的和int sum = CSScript.Evaluator.Eval("6 + 3");
// 輸出計算結(jié)果到控制臺Console.WriteLine(sum); // 打印計算結(jié)果,即9
5、實現(xiàn)了特定接口的C#腳本
using CSScriptLib; 
// 使用CS-Script的Evaluator靜態(tài)類的LoadCode方法加載一個實現(xiàn)了ICalc接口的C#腳本// 這個腳本定義了一個名為Script的類,它實現(xiàn)了ICalc接口中的Sum方法ICalc calc = CSScript.Evaluator    .LoadCode<ICalc>(@"using System;                        public class Script: ICalc // 繼承ICalc接口                        {                            public int Sum(int a, int b) // 實現(xiàn)Sum方法                            {                                return a + b; // 返回兩個整數(shù)的和                            }                        }");
// 調(diào)用加載的腳本中的Sum方法,并傳入?yún)?shù)1和2int result = calc.Sum(1, 2);
// 輸出結(jié)果到控制臺Console.WriteLine(result); // 打印Sum方法的執(zhí)行結(jié)果,即3

04

項目地址

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

- End -


該文章在 2024/12/24 10:05:14 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結(jié)合碼頭的業(yè)務特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
天天看片国产精品 | 天天一本大道久久 | 日韩欧美激情国产一区二区蜜 | 青青青视频香蕉在线视频 | 中日韩国语视频在线观看免费 | 亚洲熟女综合色一区二区三区 |