[IronPython] __init__ ignored in favor of base class constructor? - blocker

Dino Viehland dinov at microsoft.com
Mon Dec 1 21:46:04 CET 2008


My guess is that's actually a different bug (possibly the same as 19434 & 19218 which might be dups of each other).  That's actually what I'm trying to look at fixing right now.

-----Original Message-----
From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Michael Foord
Sent: Monday, December 01, 2008 12:38 PM
To: Discussion of IronPython
Subject: Re: [IronPython] __init__ ignored in favor of base class constructor? - blocker

Dino Viehland wrote:
> It looks like protected ctor's are completely broken:
>
>

We've had issues calling other protected methods as well - see the bug
reports we posted on Friday.

Michael Foord
> import clr
> clr.AddReference('test')
> from Xyz import Foo
> class x(Foo):
>     def __new__(cls):
>         return Foo.__new__(cls, object())
>
> x()
>
> TypeError: default __new__ does not take parameters
>
> test.cs:
>
> using System;
>
> namespace Xyz {
>         public class Foo {
>                 protected Foo(object x) { }
>         }
> }
>
>
>
> -----Original Message-----
> From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Dan Eloff
> Sent: Monday, December 01, 2008 12:22 PM
> To: Discussion of IronPython
> Subject: Re: [IronPython] __init__ ignored in favor of base class constructor? - blocker
>
> On Mon, Dec 1, 2008 at 2:43 PM, Dino Viehland <dinov at microsoft.com> wrote:
>
>> Ok, I think the problem here is two-fold.  First there's no public default constructor - only a private one.  So you need to pick between the Stream overload or the StreamResourceInfo, Uri overload.  You're apparently trying to choose the Stream overload.
>>
>> Which brings me to the 2nd problem.  Quite surprisingly GetResourceStream doesn't seem to return a stream - it returns a StreamResourceInfo.  So ultimately there are no applicable methods for us to call.
>>
>
> That's the second time that method has got me. They should have named
> it GetResourceStreamInfo
>
> But the problem still remains:
>
> TypeError: default __new__ does not take parameters
>
> Line 7: class MyTheme(Theme):
> Line 8:     def __new__(cls):
> Line 9:         return Theme.__new__(cls,
> wpf.Application.GetResourceStream(wpf.Uri('theme.xaml',
> wpf.UriKind.Relative)).Stream)
> Line 10:
> Line 11: def demo():
>
> TypeError
> at __new__ in app.py, line 9
> at demo in app.py, line 12
> at app.py in app.py, line 21
>
> Thanks,
> -Dan
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>


--
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog


_______________________________________________
Users mailing list
Users at lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com



More information about the Ironpython-users mailing list