[Python.NET] Error in calling Python class method from C#

techi eth techieth at gmail.com
Thu Apr 26 08:17:02 EDT 2018


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("
> 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 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/20180426/83681167/attachment.html>


More information about the PythonDotNet mailing list