将参数传递给方法并读取 return 值?
Pass parameter to a method and read the return value?
有这个代码:
var code = "public class TestClass {" +
" public int HelloWorld(int num) {" +
" return 5 + num;" +
" }" +
"}";
var script = CSharpScript.Create(code);
var x = (await script.RunAsync()).ReturnValue;
如何传递参数值、调用方法并读取 return 值?
继续另一个代码是最简单的。
var call = await script.ContinueWith<int>("new TestClass().HelloWorld(3)").RunAsync();
var x = call.ReturnValue;
顺便说一下,CSharpScript
是一个脚本引擎,不需要像普通 C# 程序那样拥有 class 和方法。您可以只使用 5 + num
作为脚本内容。
var code = "5 + num";
var numValue = 3;
var setParam = await CSharpScript.RunAsync("var num = " + numValue + ";");
var runCode = await setParam.ContinueWithAsync(code);
var x = runCode.ReturnValue;
有关完整示例,请查看 RoslynScript/Script.cs
有这个代码:
var code = "public class TestClass {" +
" public int HelloWorld(int num) {" +
" return 5 + num;" +
" }" +
"}";
var script = CSharpScript.Create(code);
var x = (await script.RunAsync()).ReturnValue;
如何传递参数值、调用方法并读取 return 值?
继续另一个代码是最简单的。
var call = await script.ContinueWith<int>("new TestClass().HelloWorld(3)").RunAsync();
var x = call.ReturnValue;
顺便说一下,CSharpScript
是一个脚本引擎,不需要像普通 C# 程序那样拥有 class 和方法。您可以只使用 5 + num
作为脚本内容。
var code = "5 + num";
var numValue = 3;
var setParam = await CSharpScript.RunAsync("var num = " + numValue + ";");
var runCode = await setParam.ContinueWithAsync(code);
var x = runCode.ReturnValue;
有关完整示例,请查看 RoslynScript/Script.cs