深入理解 c# 第十四章 使用ScriptScopt存储和获取信息 在宿主和脚本之间传递信息

本文探讨了在C#中使用ScriptScope如何实现宿主应用程序与脚本之间的信息传递。通过ScriptScope,脚本可以在全局作用域中访问和修改变量,无需显式声明,从而实现数据交互。
摘要由CSDN通过智能技术生成
    class SimpleScriptScope
    {
        static void Main()//使用ScriptScopt存储和获取信息 在宿主和脚本之间传递信息
        {
            string python = @"
text = 'hello'  
output = input + 1
";
//"\r\ntext = 'hello'\r\noutput = input + 1\r\n"
//Python代码作为C#字符串字面量嵌入到C#代码中 而不是放入文件内,可以方便在一个地方查看
//所有代码。 Python对空格敏感
            ScriptEngine engine = Python.CreateEngine();
			//engine "IronPython 2.7.3"
            ScriptScope scope = engine.CreateScope();
			//scope {Microsoft.Scripting.Hosting.ScriptScope}
            scope.SetVariable("input", 10);
			//设置接下来使用的Python代码的变量  SetVariable和GetVariable方法显式地向作用域
			//输入和获取值。正如期望的那样,它们声明为object类型,而不是dynamic。但GetVariable
			//允许你指定一个类型参数作转换请求
            engine.Execute(python, scope);
            Console.WriteLine(scope.GetVariable("text"));//从作用域获取变量
            Console.WriteLine(scope.GetVariable("input")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值