[Python.NET] Error in calling Python class method from C#
Denis Akhiyarov
denis.akhiyarov at gmail.com
Sun Apr 29 23:04:01 EDT 2018
You may get more feedback on stackoverflow than on this mailing list for
questions like this:
https://stackoverflow.com/questions/tagged/python.net?sort=newest&pageSize=50
On Fri, Apr 27, 2018 at 3:54 AM, techi eth <techieth at gmail.com> wrote:
> Any input on raised query. I think i am missing something very simple but
> not able to catch.
>
> Thanks
>
> On Thu, Apr 26, 2018 at 5:47 PM, techi eth <techieth at gmail.com> wrote:
>
>> 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 at 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 at 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 at 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("Cla
>>> ss");
>>>
>>>
>>>
>>> //Calling module method
>>>
>>> PyObject result = testClassModule.InvokeMethod("test");
>>>
>>> Console.WriteLine("Test method result = {0}",
>>> result.ToString());
>>>
>>>
>>>
>>> PyObject classTest = testClassModule.GetAttr("Class
>>> Test");
>>>
>>> *classTest.InvokeMethod("Initialize ");
>>> -----------------------------> Error*
>>>
>>> classTest.InvokeMethod("Execute");
>>>
>>> }
>>>
>>> PythonEngine.Shutdown();
>>>
>>>
>>>
>>>
>>>
>>> _________________________________________________
>>> Python.NET mailing list - PythonDotNet at python.org
>>> https://mail.python.org/mailman/listinfo/pythondotnet
>>>
>>>
>>
>
> _________________________________________________
> Python.NET mailing list - PythonDotNet at python.org
> https://mail.python.org/mailman/listinfo/pythondotnet
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pythondotnet/attachments/20180429/76772b58/attachment-0001.html>
More information about the PythonDotNet
mailing list