запускать функции Python из vb.net

Я новичок в vb.net. Я пытаюсь вызвать функции python из vb.net, но получаю сообщение об ошибке, что «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))

' имя метода, который НЕОБХОДИМО ВЫЗВАТЬ И ПОЛУЧИТЬ ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ. Может ли кто-нибудь порекомендовать мне лучший способ сделать эту работу? Я уже видел эту ссылку: http://msmvps.com/blogs/theproblemsolver/archive/2008/08/14/calling-ironpython-functions-from-net.aspx

Заранее спасибо.


person user2801184    schedule 03.06.2014    source источник
comment
Вот ссылка на блог об использовании ключевого слова dynamic для выполнения методов Python, simple-talk.com/dotnet/.net-framework/ Кроме того, VB6 не имеет ничего общего с VB.NET, возможно, вы захотите отредактировать свои теги.   -  person jac    schedule 04.06.2014
comment
Спасибо за ссылку! Но я искал ответ на языке vb.net. Не удается создать объекты Python Engine и Scope в vb.net.   -  person user2801184    schedule 06.06.2014


Ответы (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
person Dirk Primbs    schedule 05.08.2014
comment
Спасибо чувак! Я попробую это. Благодарим вас за помощь, сэр! - person user2801184; 05.08.2014