On Aug 11, 2006, at 3:53 PM, Dino Viehland wrote: > > > If you really do want to get a delegate to a Python function that > came from a module you might want to look at Ops.GetDelegate. If > you were to create a module, execute its contents, and then get the > method back out by name as an object you could pass the method to > Ops.GetDelegate w/ a delegate type and create a delegate to the raw > Python method that you could call from C#.
I think this is closer to what I want. I'm looking for clean way to expose an API written in Python to a C# program. So I can do MyDelegate ConnectToService = (MyDelegate) IronPython.Runtime.Operations.Ops.GetDelegate(e.Evaluate ("RemoteAdmin.ConnectToService"), typeof(MyDelegate)); and then... object ls = ConnectToService("localhost","LogViewer"); but now how do I get to the methods and attributes of ls? > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:users- > [EMAIL PROTECTED] On Behalf Of Jason Ferrara > Sent: Friday, August 11, 2006 12:08 PM > To: Discussion of IronPython > Subject: [IronPython] Need help using IronPython from C# > > I'd like to do the equivalent of something like... > > import RemoteAdmin > > ls = RemoteAdmin.ConnectToService("localhost","LogViewer") > numEntries = ls.GetNumberOfEntries() > e = ls.GetEntry(numEntries - 1) > entryString = str(e) > > > in C#. > > So I get as far as.... > > PythonEngine e = new PythonEngine(); > # The RemoteAdmin module is in an assembly built using > IronPython.Hosting.Compiler and then referenced by the C# project > ClrModule clr = (ClrModule) e.Import("clr"); > clr.AddReference(typeof(RemoteAdmin).Assembly) > e.Import("RemoteAdmin"); > > and then I'm lost. > > Is there a way to make a delegate from a method that exists in the > PythonEngine environment and then call the delegate from C#? > > I'm aware of the Evaluate and Execute methods of PythonEngine, but > I'm looking for a more direct way to call the python methods and > access python object attributes, rather than building up strings to > pass to Evaluate. > > Thanks > > - Jason > > > _______________________________________________ > users mailing list > users@lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > _______________________________________________ > users mailing list > users@lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com _______________________________________________ users mailing list users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com