一、介绍
<a href="http://www.cnblogs.com/nuaalfm/">作者</a>
参考:
<a target="_blank" href="http://developer.51cto.com/art/200910/156377.htm">http://developer.51cto.com/art/200910/156377.htm</a>
<a target="_blank" href="http://www.msuniversity.edu.cn/m_LearnCenterInfo/Detail.aspx?id=102">http://www.msuniversity.edu.cn/m_LearnCenterInfo/Detail.aspx?id=102</a>
二、基础知识
1、安装
2、引入相应的dll
创建一个控制台应用程序,然后到C:\Program Files\IronPython 2.6中引用IronPython.dll,Microsoft.Scripting.Core.dll,Microsoft.Scripting.dll三个dll。
3、应用
三、IronPython 与C#交互
1、C#使用IronPython 代码
我们希望在C#中直接运行IronPython 中的代码,比方说1+2的结果值
代码
执行结果:
3
ScriptEngine和ScriptScope是在.net中使用IronPython 脚本的两个基础类,ScriptSource是运行IronPython 的基础类,这里边sourceCode就是一个ScriptSource。
有时我们希望给IronPython 代码中传入一个变量值
执行结果:
Hello:Python
2、C#调用IronPython 函数
调用IronPython 中的MyFunction函数
这里需要注意def MyFunction(n):前不能有空格,return 2*n 必须有空格
3、IronPython 调用C#函数
在IronPython 中调用C#中已经存在的函数
如果需要使用某个对象中的某个函数
如果需要在IronPython 实例化使用某个对象,就稍微复杂点,这里我们创建了一个IronPythonTest程序集,我们希望在IronPython代码中使用IronPythonTest程序集中的Test类,代码如下:
Test代码:
<a></a>
namespace IronPythonTest
{
public class Test
{
public string Hello()
{
return "Hello World";
}
}
}
clr.AddReference('IronPythonTest')是用来添加程序集的
from IronPythonTest import *是用来添加命名空间的
<a target="_blank" href="http://www.236z.com/html/30/6/9/2009/11/10/67471.html">http://www.236z.com/html/30/6/9/2009/11/10/67471.html</a>
本文转自 你听海是不是在笑 博客园博客,原文链接:
http://www.cnblogs.com/nuaalfm/archive/2010/02/11/1667448.html
,如需转载请自行联系原作者