以下方法只是彼此的反转.我怀疑我可以将逻辑组合成一种方法.我宁愿避免反思.是否可以将它们结合起来并保持可读性?
private void btnAdd_Click(object sender, EventArgs e)
{
LabEntity selectedItem = bindingSource1.Current as LabEntity;
selectedLabsData.Add(selectedItem);
availableLabsData.Remove(selectedItem);
}
private void btnRemove_Click(object sender, EventArgs e)
{
LabEntity selectedItem = bindingSource2.Current as LabEntity;//new binding source
availableLabsData.Add(selectedItem);//called Add instead of remove
selectedLabsData.Remove(selectedItem);//called Remove instead of Add
}
Run Code Online (Sandbox Code Playgroud)
lad*_*dge 13
您可以将逻辑分解为辅助方法:
private void ListFixup(object entity, List<Item> addList, List<Item> removeList)
{
LabEntity selectedItem = entity as LabEntity;
// don't forget your error checking here
addList.Add(selectedItem);
removeList.Remove(selectedItem);
}
private void btnAdd_Click(object sender, EventArgs e)
{
ListFixup(bindingSource1.Current, selectedLabsData, availableLabsData);
}
private void btnRemove_Click(object sender, EventArgs e)
{
ListFixup(bindingSource2.Current, availableLabsData, selectedLabsData);
}
Run Code Online (Sandbox Code Playgroud)
我不确定这有助于提高可读性,但它确实减少了代码重复.
| 归档时间: |
|
| 查看次数: |
285 次 |
| 最近记录: |