How to make delegate refer to itself?
    H. S. Teoh 
    hsteoh at quickfur.ath.cx
       
    Sat Nov 23 15:28:03 PST 2013
    
    
  
On Sun, Nov 24, 2013 at 12:24:53AM +0100, Philippe Sigaud wrote:
> On Sat, Nov 23, 2013 at 11:57 PM, H. S. Teoh <hsteoh at quickfur.ath.cx> wrote:
> > void delegate(Event) dg = (Event e) {
> >                 if (e == ...)
> >                         queue.remove(dg); // NG: Still complains 'dg' isn't defined
> >         };
> >         queue.register(dg);
> 
> Did you try this?
> 
> void delegate(Event) dg;
> 
> dg = (Event e) {
>     if (e == ...)
>         queue.remove(dg); // NG: Still complains 'dg' isn't defined
> };
> 
> queue.register(dg);
You're right, separating the dg declaration from the body of the
delegate fixes the problem.
But still, it's rather ugly. I wish there were a way for a delegate to
refer to itself.
T
-- 
Frank disagreement binds closer than feigned agreement.
    
    
More information about the Digitalmars-d-learn
mailing list