从vb.net运行Python函数

5

我刚接触vb.net编程,想要从vb.net调用python函数,但出现了错误,提示'Microsoft.Scripting.Hosting.ObjectOperations'没有成员'Invoke'

Imports Microsoft.Scripting
Imports Microsoft.Scripting.Hosting
Imports IronPython.Hosting
Sub Main
 Dim engine As ScriptEngine
        Dim scope As ScriptScope
        Dim i As Integer


        engine = Python.CreateEngine()
        scope = engine.ExecuteFile("C:\Working.py")
 Dim v = engine.Operations.Invoke(scope.GetVariable(methodName))

请问有没有更好的方法来调用并获取返回值的方法名?我已经看过这个链接:http://msmvps.com/blogs/theproblemsolver/archive/2008/08/14/calling-ironpython-functions-from-net.aspx

提前感谢您的帮助。


这是一篇关于使用动态关键字执行Python方法的博客链接,https://www.simple-talk.com/dotnet/.net-framework/dynamic-language-integration-in-a-c-world/ 此外,VB6与VB.NET无关,您可能需要编辑您的标签。 - jac
谢谢提供链接!但是我在寻找用vb.net语言的答案。无法在vb.net中创建Python引擎和作用域对象。 - user2801184
1个回答

1
类似下面这样的代码应该可以使用:
  Sub Main(ByVal args() As String) 
    Dim pyRT As ScriptRuntime = Python.CreateRuntime() 
    Dim workingObj As Object = pyRT.UseFile("working.py")   
    workingObj.methodName() 
  End Sub

谢谢你!我会尝试这个。感谢您的帮助,先生! - user2801184

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接