It's not quite that straightforward with p/Invoke though -- it can be *very* convenient to define multiple overloads for the same C function with different signatures. Consider the GetPrinter function and the different versions of the PRINTER_INFO_x structure it can deal with: <http://msdn.microsoft.com/en-us/library/dd144911(VS.85).aspx> http://msdn.microsoft.com/en-us/library/dd144911(VS.85).aspx On Mon, Mar 23, 2009 at 4:21 PM, Jeff Hardy <jdha...@gmail.com> wrote:
> I've been thinking about whether that functionality is really needed. > C doesn't support function overloading, so presumably there would only > ever by one signature per name? I'll have to see if CPython supports > that. > > - Jeff > > 2009/3/23 Curt Hagenlocher <c...@hagenlocher.org>: > > I seem to recall that in Seo's original code, MakeOrAdd was used to build > up > > the overloads over time as user code asked for additional method > signatures > > for the same method name. This could presumably be simulated by > replacing > > the method group in Python with a new method group that contained all the > > original infos plus the new one. > > > > On Mon, Mar 23, 2009 at 11:11 AM, Dino Viehland <di...@microsoft.com> > wrote: > >> > >> Do you actually need MakeOrAdd or would the factory that takes multiple > >> method infos be good enough? > >> > >> I'm just reluctant to open up the ability to modify any built-in > function. > >> > >> > -----Original Message----- > >> > From: users-boun...@lists.ironpython.com [mailto:users- > >> > boun...@lists.ironpython.com] On Behalf Of Jeff Hardy > >> > Sent: Saturday, March 21, 2009 1:17 PM > >> > To: Discussion of IronPython > >> > Subject: Re: [IronPython] Creating Dynamic Assemblies from IronPython > >> > 2.6 > >> > > >> > Hi Dino, > >> > I'm updating Seo's old ctypes.py to work with 2.6, so unfortuantely > >> > it's a little more complex than just one method. I could probably use > >> > a delegate that takes an object[], but BuiltinFunction contains that > >> > code already, and it is a lot more optimized than I could manage. Plus > >> > it's less code for me to write :). > >> > > >> > - Jeff > >> > > >> > On Sat, Mar 21, 2009 at 11:45 AM, Dino Viehland <di...@microsoft.com> > >> > wrote: > >> > > If you only have 1 method and don't need overload resolution I'd > >> > suggest making a delegate using System.Delegate.CreateDelegate. > >> > Otherwise this could be made public. > >> > > > >> > _______________________________________________ > >> > Users mailing list > >> > Users@lists.ironpython.com > >> > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > >> _______________________________________________ > >> Users mailing list > >> Users@lists.ironpython.com > >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > > > > > _______________________________________________ > > Users mailing list > > Users@lists.ironpython.com > > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com > > > > > _______________________________________________ > Users mailing list > Users@lists.ironpython.com > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com >
_______________________________________________ Users mailing list Users@lists.ironpython.com http://lists.ironpython.com/listinfo.cgi/users-ironpython.com