1

重複の可能性:
.NET の NullReferenceException とは?

.net Web アプリケーションで bing soap サービスを使用していますが、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というメッセージが表示されます。行 74 のエラー:

Line 72:             geom p=null;
Line 73:             string k = input.country + ", " + input.zipCode;
Line 74:             x = p.GeocodeAddress(k);   // HERE
Line 75:             input.lat = x.Latitude;
Line 76:             input.lng = x.Longitude;

クラスコードは次のとおりです。

 using thn.GeocodeService;
 public class geom
    {
        public Location GeocodeAddress(string inputAddress)
        {
            GeocodeRequest geocodeRequest = new GeocodeRequest();
            geocodeRequest.Credentials = new GeocodeService.Credentials();
            geocodeRequest.Credentials.ApplicationId = "<my bing code>";
            geocodeRequest.Query = inputAddress;
            GeocodeServiceClient geocodeService = new GeocodeServiceClient("BasicHttpBinding_IGeocodeService");
            GeocodeResponse geocodeResponse = geocodeService.Geocode(geocodeRequest);

            if ((geocodeResponse.Results.Length > 0) && (geocodeResponse.Results[0].Locations.Length > 0))
            {
                return geocodeResponse.Results[0].Locations[0];
            }
            else
            {
                return null;
            }
        }
    }

呼び出し部分は次のとおりです。

        user input;
        Location x;
        geom p=null;
        string k = input.country + ", " + input.zipCode;
            x = p.GeocodeAddress(k);
            input.lat = x.Latitude;
            input.lng = x.Longitude;

どこが間違っていたのでしょうか?また、プロジェクトのサービス参照にジオコード サービスを追加したので、問題はありません..

4

1 に答える 1

0

geom クラスの新しいインスタンスを作成する必要があります。あなたはpをインスタンス化していません。p はヌルです。試す

geom p = new geom();

于 2012-12-22T03:41:57.333 に答える