从vb.net运行Python函数

时间:2021-07-07 14:02:00

I am new with vb.net. I am trying to call python functions from vb.net but getting error that 'Invoke' is not a member of 'Microsoft.Scripting.Hosting.ObjectOperations'

我是vb.net的新手。我试图从vb.net调用python函数,但得到错误,'Invoke'不是'Microsoft.Scripting.Hosting.ObjectOperations'的成员

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))

' name of the method thaT NEEDS TO INVOKED AND GET THE RETURN VALUE. Can anyone please recommend me better way to make this work? I have already seen this link :http://msmvps.com/blogs/theproblemsolver/archive/2008/08/14/calling-ironpython-functions-from-net.aspx

'需要调用的方法的名称并获得返回值。任何人都可以推荐我更好的方法来使这项工作?我已经看过这个链接:http://msmvps.com/blogs/theproblemsolver/archive/2008/08/14/calling-ironpython-functions-from-net.aspx

Thank you in advance.

先谢谢你。

1 个解决方案

#1


1  

Something like the following should work:

像下面这样的东西应该工作:

  Sub Main(ByVal args() As String) 
    Dim pyRT As ScriptRuntime = Python.CreateRuntime() 
    Dim workingObj As Object = pyRT.UseFile("working.py")   
    workingObj.methodName() 
  End Sub

#1


1  

Something like the following should work:

像下面这样的东西应该工作:

  Sub Main(ByVal args() As String) 
    Dim pyRT As ScriptRuntime = Python.CreateRuntime() 
    Dim workingObj As Object = pyRT.UseFile("working.py")   
    workingObj.methodName() 
  End Sub