2011-05-13 71 views
1

嗨,我需要将“pri1”变量保存到类变量,以便同一类的其他方法将能够访问。在这些线之间 保存到类变量

“pri1.Remove(最后一个);

的foreach(在PRI1串项目)”

void downloader_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e) 
     { 
      if (e.Error == null) 
      { 
       Stream responseStream = e.Result; 
       StreamReader responseReader = new StreamReader(responseStream); 
       string response = responseReader.ReadToEnd(); 


       string[] split1 = Regex.Split(response, "},{"); 
       List<string> pri1 = new List<string>(split1); 
       pri1.RemoveAt(0); 
       string last = pri1[pri1.Count() - 1]; 
       pri1.Remove(last); 

       foreach (string item in pri1) 
       { 
        string abc = "[{" + item + "}]"; 
        byte[] buf = System.Text.Encoding.UTF8.GetBytes(abc); 
        MemoryStream ms = new MemoryStream(buf); 

        JsonArray users = (JsonArray)JsonArray.Load(ms); 

        var members = from member in users 
            //where member["SEARCHVAL"] 
            select member; 

        foreach (JsonObject member in members) 
        { 
         string schname = member["SEARCHVAL"]; 
         string axisX = member["X"]; 
         string axisY = member["Y"]; 
         // Do something... 
         string jsonCoordinateString = "{'Coordinates':[{'X':" + axisX + ",'Y':" + axisY + "}]}"; 
         CustomCoordinateList coordinateList = DeserializeJson<CustomCoordinateList>(jsonCoordinateString); 

         GraphicsLayer graphicsLayer = MyMap.Layers["MyGraphicsLayer_Primary"] as GraphicsLayer; 

         for (int i = 0; i < coordinateList.Coordinates.Count; i++) 
         { 
          Graphic graphic = new Graphic() 
          { 
           Geometry = new MapPoint(coordinateList.Coordinates[i].X, coordinateList.Coordinates[i].Y), 
           Symbol = i > 0 ? PrimarySchoolMarkerSymbol : PrimarySchoolMarkerSymbol 

          }; 
          graphic.Attributes.Add("PrimarySchool", schname); 
          graphicsLayer.Graphics.Add(graphic); 
         } 
        } 
       } 
     } 
    } 
+0

你是什么意思?可能是这样的:当这些事件的发送者是同一个对象时,你想要共享pri1的值,在不同的事件之间......那就是它? – 2011-05-13 03:10:35

+0

我想将“pri1”保存为一个类变量,我需要在其他方法中使用它 – GJJ 2011-05-13 05:09:48

回答

2

你需要一个field添加到类:

List<string> myField; 

然后,您可以使用类领域为变数。

+0

因此,哪部分被称为类变量? – GJJ 2011-05-13 03:24:15

+1

@GJJ:没有“类变量”这样的事情。你的意思是一个领域。 http://msdn.microsoft.com/en-us/library/ms173118.aspx – SLaks 2011-05-13 11:49:24

+0

类变量是一个静态字段:http://en.wikipedia.org/wiki/Class_variable – Gabe 2011-05-26 03:43:57

0

假设有在类中的字段可以存储List<string>类型

this.VariableName = pri1; 

如果在类中没有变量,而您又没有定义它,那么您需要继承并添加它。

+0

您错误地理解了这个问题。 – SLaks 2011-05-13 02:59:20

+0

@SLaks - 你的答案与我的完全一样,只是你对术语的使用更好。我承认假设这是一个无法改变的黑匣子类。现在编辑应该反映在修改中的假设错误。 – zellio 2011-05-13 03:03:19

+0

我相信他在问如何打造一个领域。 – SLaks 2011-05-13 03:04:57