Re:Ask HN: How do you explain closures?
by tome on Friday November 06, 2009 @11:57AM
(#926359)
I'm not convinced by the utility of your example. What's wrong with:
This is even simpler and doesn't use closures at all.
[ Parent
| on HN ]
Doh!
It would have made more sense if I had some other piece of information to inject in, like if you had a database reference that needed to be passed in to the Delete() method.
Then:
AddButton("Delete " + obj.ToString(), () => obj.Delete(db));
Vs. var d = new DeleteHandler(obj, db);
AddButton("Delete " + obj.ToString(), d.DoDelete);
EDIT: fixedYup, makes more sense now! This is a good example, I think, to give to people who are used to objects being used for everything. Nice, clean, functional syntax.
(And of course you mean "d.DoDelete")