Skrypty Pythona w kodzie c#

0

rzejdę od razu do konkretów. Poniżej kod. Chcę wykonać funkcję ze skryptu pythona, podając nazwę funkcji jako string

var engine = Python.CreateEngine();
dynamic py = engine.ExecuteFile("calc.py");

dynamic calc = py.Calculator();
Type myTypeObj = calc.GetType();
// tu podaje nazwe funkcji
MethodInfo myMethodInfo = myTypeObj.GetMethod("add");
object[] mParam = new object[] { 5, 10 };
Console.Write("\nFirst method - " + myTypeObj.FullName + " returns " +          myMethodInfo.Invoke(calc, mParam) + "\n");

Niestety powyższy kod nie działa. Otrzymuję komunikat:

System.NullReferenceException was unhandled
Message=Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.

Czy ktoś potrafi pokazać jak powinno to wyglądać?

0

Najprościej to sprawdź w debuggerze, która metoda zwraca null zamiast obiektu, który później używasz. Strzelam, że engine.ExecuteFile albo myTypeObj.GetMethod.

1 użytkowników online, w tym zalogowanych: 0, gości: 1