在下面的代碼中,我想使用geometryService
(由第三方提供的實用程序類)來順序計算幾個形狀區域。我失敗了,因爲第二次計算區域必須等到第一次計算完成。爲了解決這個問題,我可以將第二個面積計算放入完成計算事件處理程序中,但代碼很混亂。有沒有更好的方法可以讓geometryService.AreasAndLengthsAsync(secondShape)
等待執行,直到geometryService.AreasAndLengthsAsync(firstShape)
完成執行?如何讓代碼等待執行,直到其他事件處理程序完成?
Shape firstShape = new Shape();
Shape secondShape = new Shape();
GeometryService geometryService = new GeometryService();
geometryService.AreaAndLengthsCompleted += GeometryService_AreasAndLengthsCompleted;
geometryService.AreasAndLengthsAsync(firstShape);
geometryService.AreasAndLengthsAsync(secondShape);
private void GeometryService_AreasAndLengthsCompleted(object sender, AreasAndLengthsEventArgs args){ }
如果有一個名爲'AreasAndLengthsAsync'的方法,我有一種直覺,那麼必須有它的同步對應'AreasAndLengths' :) – 2012-01-31 17:19:36
API是否記錄在任何地方? – 2012-01-31 17:19:38
http://help.arcgis.com/en/webapi/silverlight/1.2/apiref/topic1037.html – 2012-01-31 19:46:39