[IronPython] overriding methods from C# classes
dinov at microsoft.com
Fri Jul 9 19:50:49 CEST 2010
> Dino Viehland wrote:
> >> Is there some way of simply overriding methods in Python so that they do
> >> get called by form events?
> > In both of these cases there are no methods to be overridden. You're just
> > defining methods which you want to use for the event handlers. You need
> > to connect those methods to the event handlers somewhere.
> OK hang on a second - WHICH methods do you mean precisely - In the base
> class or the overriden class?
> Bc when I changed declaration of the method to "protected virtual" in
> the Form1.cs, the inherited class calls my Ipython method all right -
> that looks like overriding to me, at least when looking at it from the
> outside and not looking "under covers" what's happening.
Sorry I was confused... I was thinking the C# code was a comparison not
what you were inheriting from.
> > Your C# code is
> > working probably because the connection of the event handlers is in the
> > generated code in InitializeComponent().
> It is there all right:
> public void InitializeComponent()
> this.comboBox1.SelectedIndexChanged += new
> > This is one of the reasons why I suggest WPF over WinForms. In WPF you can
> > declare the event handlers in the XAML and we can wire them up to you. In
> > our IronPython 2.7 source code I recently added a clr.LoadComponent method
> > does this.
> Well that certainly makes WPF worth considering. Questions:
> 1. when IPY 2.7 is to be released?
Our current plan is around the end of this year.
> 2. Documentation. This sort of worries me: where do I get the detailed
> info how to use this stuff? So far I have developed only in CPython/Linux...
Most of the documentation for WPF will apply here. We'll need to document our
LoadComponent but I actually think you won't need to know much about it. And
for what it's worth is basically mirrors what C#/VB.NET are doing with XAML it's
just more dynamic.
Of course if you want to continue to deploy to Linux w/ IronPython then I think
WinForms is actually your best bet and you're on the right path. I say that
because Mono has WinForms support but not WPF support.
More information about the Ironpython-users