使用Natasha执行.cs文件业务脚本

Natasha在.cs脚本执行中的应用

1.安装Nuget包

2.入口程序如下:

internal class Program
{
    static void Main(string[] args)
    {
        NatashaManagement
            .GetInitializer()
            .WithMemoryUsing()
            .WithMemoryReference()
            .Preheating<NatashaDomainCreator>();

        AssemblyCSharpBuilder builder = new();
        builder.GetException();
        builder.UseRandomLoadContext();
        builder.UseSmartMode();
        builder.WithDebugCompile(debugger => debugger.ForAssembly());
        string script = File.ReadAllText("Test.cs");
        builder.Add(@$"{script}");
        var action2 = builder
            .GetAssembly()
            .GetDelegateFromShortName<Action<string>>("Test", "PrintLoop");
        action2("线程周期执行");
        Console.ReadKey();
    }
}

如果不需要参数可以使用Action即可,多个参数则Action<string,object,...>,第一个参数Test为类型名称,第二个参数PrintLoop为方法名称

3.脚本cs文件如下:

   public class Test
   {
       public void PrintLoop(string param)
       {
           Console.WriteLine($"传参:{param}");
           while (true)
           {
               Console.WriteLine($"Hello World:{new Random().Next(1000)}");
               Thread.Sleep(1000);
           }
       }
   }

4.运行程序打印结果如下:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坏菠萝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值