IronPython脚本调用C#实现的dll库
2007-06-05 23:36
891 查看
C#代码
public partial class Form1 : Form
...{
public static PythonEngine engine;
private static ClrModule clr;
private void InitializePythonEngine()
...{
engine = new PythonEngine();
clr = (ClrModule)engine.Import("clr");
engine.Globals.Add("SysPath",
System.Environment.GetFolderPath(System.Environment.SpecialFolder.System)+"/");
}
public Form1()
...{
InitializeComponent();
InitializePythonEngine();
}
private void button1_Click(object sender, EventArgs e)
...{
scriptEngine.Execute(textBox1.Text);
}
}
编译C#文件为类库
csc /t:library /out:1TestDll.dll *.cs
IronPython中调用动态库中自定义的类
import clr
import System
clr.AddReference( "System.Windows.Forms" )
clr.AddReference( "System.Drawing" )
from System.Windows.Forms import *
from System.Drawing import *
from System.IO import *
from System.Reflection import *
#用python也可以实现相同的功能
#b = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) +"/"
#dllfilename = b + "TestDll.dll"
#调用动态库
dllfilename = SysPath + "TestDll.dll"
clr.AddReferenceToFileAndPath(dllfilename)
from TestDll import *
f=Form1()
f.ShowDialog()
附录A
csc编译动态库参数说明:
csc /t:library /out:文件名.dll /r:引用文件名(包含路径) /recurse:包含的文件(含路径) *.cs
public partial class Form1 : Form
...{
public static PythonEngine engine;
private static ClrModule clr;
private void InitializePythonEngine()
...{
engine = new PythonEngine();
clr = (ClrModule)engine.Import("clr");
engine.Globals.Add("SysPath",
System.Environment.GetFolderPath(System.Environment.SpecialFolder.System)+"/");
}
public Form1()
...{
InitializeComponent();
InitializePythonEngine();
}
private void button1_Click(object sender, EventArgs e)
...{
scriptEngine.Execute(textBox1.Text);
}
}
编译C#文件为类库
csc /t:library /out:1TestDll.dll *.cs
IronPython中调用动态库中自定义的类
import clr
import System
clr.AddReference( "System.Windows.Forms" )
clr.AddReference( "System.Drawing" )
from System.Windows.Forms import *
from System.Drawing import *
from System.IO import *
from System.Reflection import *
#用python也可以实现相同的功能
#b = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) +"/"
#dllfilename = b + "TestDll.dll"
#调用动态库
dllfilename = SysPath + "TestDll.dll"
clr.AddReferenceToFileAndPath(dllfilename)
from TestDll import *
f=Form1()
f.ShowDialog()
附录A
csc编译动态库参数说明:
csc /t:library /out:文件名.dll /r:引用文件名(包含路径) /recurse:包含的文件(含路径) *.cs
相关文章推荐
- 在C#中调用VBScript和JavaScript等脚本的实现
- C#调用脚本语言(一)-- IronLua基本语法
- 在C#中调用VBScript、JavaScript等脚本的实现
- C#调用脚本语言(二)-- IronJS基本语法
- 在C#中调用VBScript、javascript等脚本的实现
- 基于python智慧树刷课脚本在C#语言下的设计与实现
- C# 调用批python 脚本
- C#调用Python 脚本语言
- 在C#中调用VBScript、JavaScript等脚本的实现
- C#调用Python脚本的简单示例
- C#调用Python脚本并使用Python的第三方模块
- C#调用Python脚本并使用Python的第三方模块
- python实现调用其他python脚本的方法
- 使用VC++调用C#封装的DLL库实现Excel文件的操作(不用安装office软件环境)
- 在C#中调用python脚本,并使用python第三方arcpy模块
- 在C#中调用VBScript、JavaScript等脚本的实现
- C#如何调用Python执行脚本,并将执行结果显示值显示至C#界面
- C#调用Python脚本并使用Python的第三方模块
- C#调用python脚本
- 在C#中调用VBScript和JavaScript等脚本的实现