Yes,It will work with this way but i need to create multiple instance of same class.If you see other function (@Execute() ) with static was working. Please give me hint of doing without static. Thanks On Thu, Apr 26, 2018 at 4:54 PM, Stefan Schukat <SSchukat@dspace.de> wrote:
Hello,
you missed either @staticmethod decorator or the self argument for the Initialize method.
Stefan
*From:* PythonDotNet [mailto:pythondotnet-bounces+sschukat= dspace.de@python.org] *On Behalf Of *techi eth *Se**nt:* Wednesday, April 25, 2018 2:38 PM *To:* A list for users and developers of Python for .NET < pythondotnet@python.org> *Subject:* [Python.NET] Error in calling Python class method from C#
Hi,
I am facing issue while calling python class function in C# programme. Can anyone give me hint what is wrong in below programme.While running I am getting error in invoking Initialize() function of class.
Python module <Class.py> :
def test():
print "Test called"
return 1
class ClassTest:
def __init__(self)
def Initialize ():
print " Initialize called"
return 1
@staticmethod
def Execute():
print "Execute called"
return 1
C# Console Programme code snapshot :
PythonEngine.Initialize();
using (Py.GIL())
{
PyObject testClassModule = PythonEngine.ImportModule(" Class");
//Calling module method
PyObject result = testClassModule.InvokeMethod("test");
Console.WriteLine("Test method result = {0}", result.ToString());
PyObject classTest = testClassModule.GetAttr("ClassTest");
*classTest.InvokeMethod("Initialize "); -----------------------------> Error*
classTest.InvokeMethod("Execute");
}
PythonEngine.Shutdown();
_________________________________________________ Python.NET mailing list - PythonDotNet@python.org https://mail.python.org/mailman/listinfo/pythondotnet