What you're probably looking for is the CreateMethod method that hangs off of
the PythonEngine. Using this you can do:
delegate string GetEntryString();
GetEntryString es = engine.CreateMethod<GetEntryString>(@"import RemoteAdmin
ls = RemoteAdmin.ConnectToService('localhost','LogViewer')
numEntries = ls.GetNumberOfEntries()
e = ls.GetEntry(numEntries - 1)
entryString = str(e)
return entryString");
Console.WriteLine(es());
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#.
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[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
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com