[Mono-list] late linking & dynamic invocation ...
Miguel de Icaza
miguel@ximian.com
05 Jul 2002 14:31:16 -0400
> Ok - the problem is quite simple. In order to reasonably disambiguate
> the 'DelegateName' you need to mangle the types into the delegate name,
> in a signal handling system there will be a lot of these, thus:
>
> new DelegateName (fn) -> new DelegateLongIntShortString
> (my_long_int_short_string_method);
Ah, I would never do it that way. I would do it like this:
delegate void SizeAllocation (long i, int j, string name);
The delegate name is chosen to have a semantic meaning, and not match
the method signature ;-)
> In short, it's the tragedy of this:
>
> Delegate *del = new DelegateLongIntShortString
> (my_long_int_short_string_method);
>
> I want to be able to do:
>
> Delegate *del = new Delegate (my_long_int_short_string_method);
I do not think we are on the same page, here is how it *actually* works
on gtk#:
win.DeleteEvent += new EventHandler (Window_Delete);
Notice that the delegate signature is `EventHandler', not
DelegateObjectEventArgs ;-)
Miguel