ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

将c#类型注入Ironpython

2019-06-08 09:02:47  阅读:178  来源: 互联网

标签:python c ironpython


现在我可以使用以下代码访问IronPython中的c#类型,如下所示

import clr
clr.AddReference('myDLL.dll')
import myType
obj = myType()

但我不希望脚本开发人员在Python源代码中使用clr.AddReference(‘myDLL.dll’)行,并将myDLL.dll(和/或ac#class)直接从c#注入ScriptEngine,因此前面的代码将是类似的东西:

import myType

obj = myType()  

我该怎么做到这一点?

解决方法:

您可以使用以下解决方案解决此问题:

ScriptRuntime runtime = Python.CreateRuntime();
runtime.LoadAssembly(Assembly.GetAssembly(typeof(MyNameSpace.MyClass)));
ScriptEngine eng = runtime.GetEngine("py");
ScriptScope scope = eng.CreateScope();
ScriptSource src = eng.CreateScriptSourceFromString(MySource, SourceCodeKind.Statements);
var result = src.Execute(scope);

现在,在python脚本中,您可以编写:

from MyNameSpace import *
n=MyClass()
print n.DoSomeThing()

标签:python,c,ironpython
来源: https://codeday.me/bug/20190608/1196759.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有