views:

549

answers:

3

Can you please convert this code from C# to Python to be run on IronPython?

I don’t have any experience with Python.

using System;
using Baz;

namespace ConsoleApplication
{
  class Program
  {
    static void Main()
    {
        Portal foo = new Portal("Foo"); 
        Agent bar = new Agent("Bar");

        foo.Connect("127.0.0.1", 1234); 
        foo.Add(bar);

        bar.Ready += new Agent.ReadyHandler(bar_Ready);               
    }

    static void bar_Ready(object sender, string msg)
    {    
       Console.WriteLine(msg.body);  
    }
}
}
+1  A: 

I think it would suit you best if you take a look at the following links:

http://www.learningpython.com/2006/10/02/ironpython-hello-world-tutorial/ http://msdn.microsoft.com/en-us/magazine/cc300810.aspx

fuentesjr
+3  A: 

Instantiation doesn't require a type definition. Methods called the same, assign delegates directly. The previous answer is absolutely right, you'll need a lot more context in order to "convert" a C# application to Python; it's more than just syntax.

foo = Portal("Foo")

bar = Agent("bar")

foo.Connect("ip", 1234)

foo.Add(bar)

bar.Ready = bar_Ready

def bar_Ready(sender, msg):

    print msg.body
David in Dakota
This is right, except that the event hook line should be 'bar.Ready += bar_Ready' if you assume that the Portal and Agent classes are still implemented in C#.
wilberforce
wilberforce is right.
orestis
+2  A: 

Or if you're feeling really lazy, there's a C# to Python converter on developer fusion!

James Crowley