Чтобы заменить var, исследуйте фактический тип возвращаемого значения метода и измените его на этот. Например, XDocument.Parse можно найти в MSDN здесь В документации говорится: «Создает новый XDocument из строки», поэтому возвращаемый тип должен быть XDocument. И если вы углубитесь в одну из перегрузок метода (как этот ), вы увидите фактическую подпись метода, которая подтверждает, что он действительно возвращает XDocument.
Кроме того, в Visual Studio есть функция intellisense, поэтому, если вы наводите курсор на что-либо, вы обычно можете получить подробные сведения об этом. Попробуйте ввести System.Xml.Linq.XDocument.Parse(
. Когда вы набираете первую скобку, вы должны увидеть всплывающее окно в Visual Studio, в котором сообщается, какой тип возвращаемого значения соответствует используемому вами методу. Если intellisense не работает, убедитесь, что у вас есть ссылка на DLL.
Также обратите внимание, что в Visual Studio есть так называемый Object Explorer
. Это позволит вам увидеть сигнатуры методов каждого объекта, с которым вы работаете, который включает возвращаемые типы. Просто щелкните правой кнопкой мыши любой объект или метод и выберите «Перейти к определению». Надеюсь, в используемой вами версии Visual Studio это есть, если нет, подумайте об обновлении, потому что это чрезвычайно полезно.
public string getLatLang(string address)
{
string latlang = "";
string url = "http://maps.googleapis.com/maps/api/geocode/xml?address=" + address + "&sensor=false";
System.Net.WebClient client = new System.Net.WebClient();
string result = client.DownloadString(url);
XDocument doc = System.Xml.Linq.XDocument.Parse(result);
XElement sw = doc.Descendants("viewport").Elements("southwest").SingleOrDefault();
if (sw != null)
{
string lat = sw.Element("lat").Value;
string lng = sw.Element("lng").Value;
latlang = String.Format("{0},{1}", lat, lng);
// do stuff
}
return latlang;
}
Изменить: обратите внимание, что это решение не будет работать в .NET 2.0 без некоторых хаков из-за LINQ и перераспределения System.Core противоречит лицензионному соглашению, поэтому вам, вероятно, придется изменить XDocument на XmlDocument и выяснить, как интегрировать его с Google возвращаемое значение. Я считаю, что у него есть метод Load или метод LoadXml, не могу вспомнить, какой из них что делает.
person
Chris Gessler
schedule
11.08.2012
var
сам по себе не является типом данных, но представляет тип, выведенный компилятором. Не всеvar
переменные здесь имеют один и тот же тип. Начните сверху и двигайтесь вниз, чтобы определить каждый тип. - person Michael Graczyk   schedule 11.08.2012