如何使用C#ScriptEngine在类中执行方法

哈米德·法蒂

我如何获得此来源的结果

var src = @"public class Test
{
    public IList<string> CallMe(int count = 10)
    {
        return Enumerable.Range(0, count).Select(x => $""Number-{x}"").ToList();
    }
}";

由Roslyn ScriptEngine在C#中编写?

我怎样才能做到这一点?

object result = await CSharpScript.EvaluateAsync("new Test().CallMe(20)");
乔治·亚历山大(George Alexandria)

一种实现方法是使用Roslyn Scripting的延续来保持先前的执行状态:

var src = @"public class Test
{
    public IList<string> CallMe(int count = 10)
    {
        return Enumerable.Range(0, count).Select(x => $""Number-{x}"").ToList();
    }
}";

var options = ScriptOptions.Default
    .AddReferences("mscorlib", "System.Core") // assume that it's run under .netframework
    .AddImports("System", "System.Linq", "System.Collections.Generic");

var list = CSharpScript.RunAsync(src, options).Result
                       .ContinueWithAsync<IList<string>>("new Test().CallMe(20)").Result.ReturnValue;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在C#中使用ScriptEngine

如何获取当前的类名和使用testNg侦听器在类文件中执行的方法?

C#创建类实例以在类中执行方法时

如何在 Python 中执行 S4 类方法(使用 rpy2)?

如何在Objective C中的类方法上使用self

如果未在类C ++中定义方法,如何在类对象上使用方法

如何在类方法中执行 Core Data NSFetchRequest?

如何在类中使用方法或执行语句

如何使用Post方法从android类执行php文件

执行流程的C#类中的异步方法

包装C ++,如何在cython中执行不同的类操作

在C#中的基类中使用泛型:如何确保基类中的方法返回派生类的类型?

如何使用 __asm 在 C 中执行 DCD?

如何在 C# 中对抽象类执行 Moq 测试以获取其中的虚拟方法?

如何使用ComponentRef <C>类的destroy()方法

如何使用Timer类调用方法,执行某些操作,重置计时器,重复执行?

如何从给定类型的类/接口的类中读取我的依赖项并在其上执行方法?

如何从类方法对 C++ 中的类进行操作?

使用ScriptEngine从JavaScript调用Java方法

如何在类外使用方法对象(在类中)?

如何在ScalaTest中使用ScriptEngine

如何通过使用C ++中的构造函数获取父类的变量来在子类中实现Abstarct类的方法

从C ++如何执行C中的方法或访问结构?

如何正确使用C#中相关但不同的类上的调用方法

如何在C#中的Expression类中使用Contains方法?

如何在C#中使用NEST客户端的ElasticClient类中的Serialize方法?

如何使用提取运算符从C ++中的类方法获取多个值?

如何在Java中从其超类方法停止/退出子类方法执行

在继承的类中执行父方法