public void WorkComplete(IAsyncResult ar) { delegateworker dw = (delegateworker)((AsyncResult)ar).AsyncDelegate; Object lockObj = new object(); //ロックが必要?? lock (lockObj) { //返り値を格納する result.AddRange(dw.EndInvoke(ar)); } }