gpt4 book ai didi

c# - 使用来自不同方法的变量

转载 作者:太空宇宙 更新时间:2023-11-03 20:37:20 24 4
gpt4 key购买 nike

我不确定我是否以正确的方式处理这件事,所以希望有人能帮助我。

我试图在一个方法中使用 var,它包含在另一个方法中。正如预期的那样,我收到错误:当前上下文中不存在名称“Title1”。

我首先读取一个 xml 文件,然后用图钉填充 bing map 。其中一个变量是每个 xml 项目的名称,我需要在下面的方法中使用“Title1”变量。

代码如下:

 public void OnOpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{


var document = XDocument.Load(e.Result);

if (document.Root == null)
return;

var xmlns = XNamespace.Get("http://www.blahblah.com");

var events = from ev in document.Descendants("item")
select new
{
Latitude = Convert.ToDouble(ev.Element(xmlns + "Point").Element(xmlns + "lat").Value),
Longitude = Convert.ToDouble(ev.Element(xmlns + "Point").Element(xmlns + "long").Value),
Title = (ev.Element("title").Value),
Description = (ev.Element("description").Value),
Link = (ev.Element("link").Value),
};

QuakeLayer.Children.Clear();

foreach (var ev in events)
{

var accentBrush = (Brush)Application.Current.Resources["PhoneAccentBrush"];
var Title1 = (ev.Title);
var pin = new Pushpin

{
Location = new GeoCoordinate
{
Latitude = ev.Latitude,
Longitude = ev.Longitude
},
Background = accentBrush,

Content = Title1


};

QuakeLayer.AddChild(pin, pin.Location);


}

}


public void Pushpin_ManipulationStarted(object sender, ManipulationStartedEventArgs e)
{

NavigationService.Navigate(new Uri("/blahblah.xaml?info=" + Title1, UriKind.Relative));

}

最佳答案

如果您在循环中使用匿名方法,您将能够访问此变量(编译期间会发生魔法):

var pin = new Pushpin
{
...
Content = Title1
};

pin.ManipulationStarted += (s, a) =>
{
// Code for the event here
// ... do something with Title1
};

QuakeLayer.AddChild(pin, pin.Location);

关于c# - 使用来自不同方法的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4521481/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com