It's an interesting idea, but I think it'll end up conflicting w/ generics.  
What happens if I have a class that explicitly implements an interface that has 
BeginInit on it and defines a BeginInit<T> method?  We won't know which one we 
should bind to.

My current thoughts on this are self.DataGridView1.ISupperInitialize_BeginInit. 
 It's more verbose then I'd like it, but it also avoids versioning problems 
(where someone could add "BeginInit" in a later version and suddently you're 
calling something different).  




Do you want to help develop Dynamic languages on CLR? 
(http://members.microsoft.com/careers/search/details.aspx?JobID=6D4754DE-11F0-45DF-8B78-DC1B43134038)

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of J. Merrill
Sent: Tuesday, February 21, 2006 1:00 PM
To: Discussion of IronPython
Subject: Re: [IronPython] howto access interface method?

Would it be reasonable to use syntax
     this.DataGridView1[ISupportInitialize].BeginInit
to do the equivalent of "casting to an interface" in IP?

At 11:55 AM 2/16/2006, Dino Viehland wrote
>The issue here is that the interface's methods are marked private, but are 
>exposed publicly via the interface (aka explicit interface implementation) 
>-hence the reason you need the cast in C#.
>
>This is a shortcoming we're aware of but we don't have a bug on it.  I'll go 
>ahead and file a bug on this so it doesn't get lost.  The fix may be a little 
>complex for this one so it may not make it for beta 4 but I'll initially open 
>it as a beta 4 bug so we'll give it a shot.
>
>
>-----Original Message-----
>From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Chee Meng
>Sent: Thursday, February 16, 2006 12:58 AM
>To: [email protected]
>Subject: [IronPython] howto access interface method?
>
>
>hi,
>
>I am using the DataGridView object which implements the interface 
>ISupportInitialize,
>and that have 2 methods BeginInit and EndInit .
>
>However, through Ironpython,
>the 2 methods cannot be found.
>
>is there a way to access the 2 methods in python?
>
>#((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
>this.dataGridView1.BeginInit()
>
>above code gives this error, AttributeError: 'DataGridView' object has no 
>attribute 'BeginInit'
>
>
>thks
>
>
>regards
>cheemeng


J. Merrill / Analytical Software Corp

_______________________________________________
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

Reply via email to