using System;
using System.IO;
using System.Net;
using System.Reflection;
using System.Xml.Linq;
using System.Collections.Generic;
namespace Stat_Update.Classes
{ //Класс параметров
public class UnParam
{
public string path { get; set; }
public string url { get; set; }
public string lastver { get; set; }
public string size { get; set; }
public string needRestart { get; set; }
}
//Класс процедуры
public partial class UnUpdate
{
#region - Объявляем коллекцию
public static List<UnParam> par = new List<UnParam>();
#endregion
#region - Объявляем переменные
public UnParam UnParam { get; set; }
#endregion
//Запуск модуля проверки обновления
public static List<UnParam> UpdateXml(string updatestring)
{
par.Clear();
using (WebClient wc = new WebClient())
{
try
{
//читаем данные из файла
XDocument doc = XDocument.Load(updatestring);
//проходим по каждому элементу в нашей library
foreach (XElement el in doc.Root.Elements())
{
UnParam unParam = new UnParam
{
path = el.Attribute("path").Value,
url = el.Attribute("url").Value,
lastver = el.Attribute("lastver").Value,
size = el.Attribute("size").Value,
needRestart = el.Attribute("needRestart").Value
};
par.Add(unParam);
}
}
catch { }
}
return par;
}
//Запуск модуля скачивание обновления
public static void Execute(IList<UnParam> unParamLocal, IList<UnParam> unParamServer)
{
}
//Запуск обновления
static void Update(UnParam requestParameters)
{
}
}
}
Сам проект
//Объявляем
public static IList<UnParam> Local = new List<UnParam>();
public static IList<UnParam> Global = new List<UnParam>();
Код, допустим кнопки
//Это фиксированная ссылка на локальный файл обновления
string LocalIn = System.Environment.GetFolderPath(System.Environment.SpecialFolder.UserProfile) + Properties.Settings.Default.LoadIn;
//Парсим локальный файл
Local = UnUpdate.UpdateXml(LocalIn);
//Это фиксированная ссылка на глобальный файл обновления
string GlobalOut = Properties.Settings.Default.LoadOut;
//Парсим ГЛОБАЛЬНЫЙ файл
Global = UnUpdate.UpdateXml(GlobalOut);
UnUpdate.Execute(Local, Global);
ТО ИСХОДЯ ИЗ КОДА
"//Парсим ГЛОБАЛЬНЫЙ файл"
Global = UnUpdate.UpdateXml(GlobalOut);
Local затирается и становится равен Global; т.е. в UnUpdate.Execute(Local, Global); передается 2 последних значения. Это из за public class UnParam но как сделать чтобы предыдущий результат сохранить не знаю?! Помогите!!!
Думал что то типа того:
public class UnParam: List<string>
{
public string path { get; set; }
public string url { get; set; }
public string lastver { get; set; }
public string size { get; set; }
public string needRestart { get; set; }
}
или
public class UnParam
{
public string path { get; set; }
public string url { get; set; }
public string lastver { get; set; }
public string size { get; set; }
public string needRestart { get; set; }
}
но тогда не понятно как писать здесь:
UnParam unParam = new UnParam
{
path = el.Attribute("path").Value,
url = el.Attribute("url").Value,
lastver = el.Attribute("lastver").Value,
size = el.Attribute("size").Value,
needRestart = el.Attribute("needRestart").Value
};
Прошу совета!