Сохранение в переменную класса - PullRequest
1 голос
/ 13 мая 2011

Привет, мне нужно сохранить переменную pri1 в переменную класса, чтобы другие методы того же класса могли получить к ней доступ.между этими строками

"pri1.Remove (last);

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);
                        }
                    }
                }
        }
    }

Ответы [ 2 ]

2 голосов
/ 13 мая 2011

Вам необходимо добавить поле в класс:

List<string> myField;

Затем вы можете использовать поле в качестве переменной в любом месте класса.

0 голосов
/ 13 мая 2011

Если в классе есть поле, которое может хранить тип List<string>

this.VariableName = pri1;

Если в классе нет переменной, и вы не определили ее самостоятельно, вынужно создать подкласс и добавить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...