当前位置:编程学习 > C#/ASP.NET >>

利用C#4.0调用IronPython脚本

微软还没有将IronPython的库集成进来,所以在VS2010中调用IronPython,先要到CodePlex上下载IronPythonFor .NET4.0的安装程序,Url:http://ironpython.codeplex.com/releases/view/40146。

  2. 编写一个IronPython脚本文件“Test.py”,代码如下:

#coding gb2312

import clr

class MyService(object):

    def GetData(self, value):

        return "hello" + value

 

def MyFunction(name):

    return "hello " + name

 


    在该脚本中定义了一个MyService类,在MyService类中定义了一个GetData方法。在该脚本中同时又定义了一个MyFunction的函数。

  3. 建立一个应用程序,并引用刚才下载的IronPython安装目录下的几个DLL文件,如下所示:

  

  4. 将Python脚本放在应用程序所在的目录,用来调用的C#代码如下所示:


 var python = Python.CreateRuntime(); 
            dynamic script= python.UseFile("a.py");

            //调用Python里的类

                            var service = script.MyService();

            string result=service.GetData("aaa");

            MessageBox.Show(result);

 

            //调用中的函数

                            result = script.MyFunction("aaa");

            MessageBox.Show(result );
 


   5. 这里比较重要的是dynamic关键字的使用,它可以实现代码的运行时载入,速度会比反射要稍快点。
这是本人从别处看到的,解决了我目前项目界面语言和核心程序语言之间的问题,希望给大家启示,共同学习!

--------------------编程问答-------------------- 留个记号,以后要是学IronPython的话看看,谢谢楼主分享 --------------------编程问答-------------------- --------------------编程问答-------------------- 谢谢 lz 分享。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,