我想通过三个额外的参数给事件:C#传递额外的参数给事件
geocodeService.GeocodeCompleted += new EventHandler<GeocodeService.GeocodeCompletedEventArgs>(geocodeService_GeocodeCompleted);
的参数是
int id
string color
double heading
private void Geocode(string strAddress, int waypointIndex, int id, string color, double heading) { // Create the service variable and set the callback method using the GeocodeCompleted property. GeocodeService.GeocodeServiceClient geocodeService = new GeocodeService.GeocodeServiceClient("BasicHttpBinding_IGeocodeService"); // NEED TO PASS id, color, heading TO THIS EVENT HANDLER geocodeService.GeocodeCompleted += new EventHandler<GeocodeService.GeocodeCompletedEventArgs>(geocodeService_GeocodeCompleted); GeocodeService.GeocodeRequest geocodeRequest = new GeocodeService.GeocodeRequest(); geocodeRequest.Credentials = new Credentials(); geocodeRequest.Credentials.ApplicationId = ((ApplicationIdCredentialsProvider)BingMap.CredentialsProvider).ApplicationId; geocodeRequest.Query = strAddress; geocodeService.GeocodeAsync(geocodeRequest, waypointIndex); } private void geocodeService_GeocodeCompleted(object sender, GeocodeService.GeocodeCompletedEventArgs e) { GeocodeResult result = null; if (e.Result.Results.Count > 0) { result = e.Result.Results[0]; if (result != null) { // this.ShowMarker(result); this.ShowShip(result); } } }
哪里引发的事件?我怀疑在GeocodeAysnc方法中,有什么方法可以看到这种方法吗? – LukeHennerley
@Solo你试过我的建议吗? – giammin