2011-05-13 66 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