首页 > 编程语言 >CS-Script.Core C#通过读取文本实现动态脚本

CS-Script.Core C#通过读取文本实现动态脚本

时间:2023-12-12 16:25:05浏览次数:39  
标签:Core StepInfo Script C# System stepInfos Time using public

安装包 CS-Script.Core

 编写脚本  工艺文件1.txt

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ConsoleApp2;
 
   //注意不能有命名空间
    public class 工艺文件1 : IStep
    {
        public 工艺文件1()
        {
        }

        public void AddStep(List<StepInfo> stepInfos)
        {
            stepInfos.Add(new StepInfo { Name = "测试1", Time = 1234 });
            stepInfos.Add(new StepInfo { Name = "测试2", Time = 345 });
            stepInfos.Add(new StepInfo { Name = "测试3", Time = 3452 });
            stepInfos.Add(new StepInfo { Name = "测试4", Time = 3453 });
        }
    }
 

文件放置位置

 代码1

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    public interface IStep

    {
        void AddStep(List<StepInfo> stepInfos);
    }

    public class StepInfo
    {
        public string Name { get; set; }
        public int Time { get; set; }
    }
}

代码2

using  Lib;
using Microsoft.VisualBasic;
using System;
using System.Collections.Generic;
using System.Threading;

namespace ConsoleApp2
{
    public class Program
    {
        private static void Main(string[] args)
        {
            string path = AppDomain.CurrentDomain.BaseDirectory + "工艺文件1.txt";
            string res = File.ReadAllText(path);
            IStep script = CSScript.Evaluator

                                 .LoadCode<IStep>(res);
            List<StepInfo> stepInfos = new List<StepInfo>();
            script.AddStep(stepInfos);

              foreach (StepInfo stepInfo in stepInfos)
              {
                Console.WriteLine(stepInfo.Name + " " + stepInfo.Time);
              }

        }
    }
}

 测试

 测试了一下比ironpython 快

github完整使用教程:

oleg-shilo/cs-script: C# scripting platform (github.com)

cs-script.core/src/CSScriptLib/src/CSScriptLib/samples.cs at master · oleg-shilo/cs-script.core (github.com)

标签:Core,StepInfo,Script,C#,System,stepInfos,Time,using,public
From: https://www.cnblogs.com/JohnnyLei/p/17897140.html

相关文章

  • 实验6 c语言结构体、枚举应用编程
    实验任务4程序源码1#include<stdio.h>2#defineN1034typedefstruct{5charisbn[20];//isbn号6charname[80];//书名7charauthor[80];//作者8doublesales_price;//售价9intsales_......
  • css图片等比放大居中|超出部分隐藏
    图片等比放大居中在一些情况下需要保证图片缩略图窗口大小固定,但是图片分辨率比例多种多样,需要在展示固定比例的窗口下展示不同分辨率的图片,还需保证展示的图片不被拉伸变形,保持原有比例的基础上进行等比放大。//外层.img-box{//等比放大图片,超出部分隐藏width:1......
  • 在Vue中使用HappyPack
    在Vue中使用HappyPack1、介绍HappyPack由于有大量文件需要解析和处理,构建是文件读写和计算密集型的操作,特别是当文件数量变多后,Webpack构建慢的问题会显得严重。运行在Node.js之上的Webpack是单线程模型的,也就是说Webpack需要处理的任务需要一件件挨着做,不能多个事情一......
  • Codeforces Round 808 (Div. 2)
    基本情况最难受的一集。A搞了一个半小时愣是没开出来。A.DifferenceOperationsProblem-A-Codeforces错误分析我分了好多类讨论,换言之没找到更本质的东西。我想的是如果前面有一个数能处理到\(1\)那后面就都能过。止步于此,而没有往更本质,更普适的地方想。然后又......
  • Mac 配置Sencha环境(Ext JS6)
    1.下载安装包地址:SenchaCmdDownload-SenchaCmdLatestVersion下载所需的版本 2.解压,安装3.配置环境变量vim~/.bash_profile  添加一行环境变量(根据你自己的安装目录修改变量):exportPATH=${PATH}:/Users/你的user名/bin/Sencha/Cmd/6.5.3.6 修改完成后,保......
  • python cv2.imread 读取中文路径的图片返回为None的问题
    使用cv2读取图片时,输出图片形状大小时出现报错“'NoneType'objecthasnoattributeshape”,后来排查发现读取图片的返回值image为None,这就说明图片根本就没有被读取。下面图片是问题问题解决后,为了更好的展示,写的代码展示,这是正常的因果关系,找错误排查时是从下往上推。 ......
  • html中的base标签,<base href="http://xxx.com/">什么意思
    HTML中的<base>标签用于指定页面上所有相对URL的基础路径。该标签位于<head>标签内,并具有一个href属性,用于指定基础路径URL。例如:<head><basehref="http://example.com/"/></head>一旦设置了<base>标签,页面上所有使用相对路径的链接、图像、脚本等资源都将以指定的基准U......
  • chrome弧形标签页实现思路收录
    1. 直线圆角,通过单个伪元素的border-radius产生弧形<template><divclass="tab-list"><divv-for="tabintabs":key="tab.id"class="tab-item":class="activeTab===tab.id?'ac......
  • 一文掌握Ascend C孪生调试
    本文分享自华为云社区《一文掌握AscendC孪生调试》,作者:昇腾CANN。1What,什么是孪生调试AscendC提供孪生调试方法,即CPU域模拟NPU域的行为,相同的算子代码可以在CPU域调试精度,NPU域调试性能。孪生调试的整体方案如下:开发者通过调用AscendC类库编写AscendC算子kernel侧源码,kerne......
  • I/O设备的运行时电源管理框架【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/power/runtime_pm.htmlI/O设备的运行时电源管理框架[email protected],[email protected].,[email protected].简介I/O......