[Python.NET] Error in calling Python class method from C#
techi eth
techieth at gmail.com
Fri Apr 27 04:54:26 EDT 2018
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
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pythondotnet/attachments/20180427/383fd1ff/attachment.html>
More information about the PythonDotNet
mailing list