|
|
|
|
|
by rleisti
6066 days ago
|
|
You could try an example showing what a closure does 'under the hood' by showing an equivalent non-closure example, like: With Closure: foreach (var obj in objects) {
AddButton("Delete " + obj.ToString(), () => obj.Delete());
}
Without closure: class DeleteHandler {
public DeleteHandler(TYPE obj) {
_obj = obj;
}
private TYPE obj;
public void DoDelete() {
obj.delete();
}
}
...
foreach(var obj in objects) {
var deleteHandler = new DeleteHandler(obj);
AddButton("Delete " + obj.ToString(), deleteHandler.DoDelete);
}
|
|