c# - similar function refactoring pattern -
i have 20 functions same pattern, run on array of sites, create siteoperation site object , perform operation ( in case 1 param there none or more)
int wantedbandwidthinlbps = 2048 / 8; foreach (sites site in _sitesmanagement.getall()) { siteoperation siteoperation = new siteoperation(site); siteoperation.limitbandwidth(wantedbandwidthinlbps); } foreach (sites site in _sitesmanagement.getall()) { siteoperation siteoperation = new siteoperation(site); siteoperation.killjames(); } foreach (sites site in _sitesmanagement.getall()) { siteoperation siteoperation = new siteoperation(site); siteoperation.flytomoon(2012, new taskidentifier(10,20)); } is possible wrap code, send action lets _sitesmanagement run action on sites ?
try this:
void performoperationonallsites(action<siteoperation> doit) { foreach (sites site in _sitesmanagement.getall()) { siteoperation siteoperation = new siteoperation(site); doit(siteoperation); } } ... _sitesmanagement.performoperationonallsites(op => op.limitbandwidth(wantedbandwidthinlbps)); _sitesmanagement.performoperationonallsites(op => op.killjames()); _sitesmanagement.performoperationonallsites(op => op.flytomoon(2012, new taskidentifier(10,20));
Comments
Post a Comment