标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。