このようなもの:
アセンブリ (A):
private void MoveItems(someCollection)
{
// more code....
foreach( item x in someCollection)
{
int x = getXFoo();
assemblyB.UpdateOrderView(x)
}
//more code....
}
アセンブリ (B):
private void UpdateOrderView(x)
{
// more code....
int y = this.ListCount();
//......
FinishDisplay(y)
}
MoveItems()
コレクションと for-each ループを持つ呼び出しを行います。したがって、コレクションに 600 個のアイテムがある場合、FinishDisplay()
メソッドも 600 回呼び出します。しかし、それは私がリファクタリングする必要があるところです。FinishDisplay()
コレクション内のアイテムごとに毎回呼び出される必要はありません。最後に一度だけ呼べれば十分です。
FinishDiplay()
したがって、このコードをリファクタリングして、一度だけ呼び出されるようにする方法を探しています。私はソース コードを管理しているので、一部のメソッドを公開したり、一部のメソッドのオーバーロードを作成したりする必要がある場合は、それも行うことができます。