.NET 4.x Как правильно использовать потоки? - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток столкнулся со следующей проблемой не могу выполнить функцию в потоке
protected string[] readDocuments(string patch)
{
 // код
}
 
Thread t = new Thread(readDocuments(files[0])); // Вот на это компилятор ругается
t.start();
Подскажите как правильно отправить её в отдельный поток

Решение задачи: «.NET 4.x Как правильно использовать потоки?»

textual
Листинг программы
protected string[] ReadDocuments(string patch) 
        {
            string[] ro;
            bool flag = true;
            ro = new string[12];
            XmlReader xReader = XmlReader.Create(@"" + patch + "");
            try
            {
                while (xReader.Read() && flag == true) 
                {
                    if ((xReader.NodeType == XmlNodeType.Element) && (xReader.Name == "report"))
                    {
                        if (xReader.HasAttributes)
                        {
                            var a = (xReader.GetAttribute("code"));
                            if (Convert.ToInt32(a.Substring(0, 1)) == 1)
                            {
                                ro[1] = a.Substring(0, 7);
                            }
                            else
                            {
                                ro[1] = a.Substring(0, 6);
                            }                             
                            ro[2] = (xReader.GetAttribute("year"));
                            ro[3] = (xReader.GetAttribute("period"));
                            ro[4] = (xReader.GetAttribute("version"));
                        }
                    }
                    if ((xReader.NodeType == XmlNodeType.Element) && (xReader.Name == "item"))
                    {
                        if (xReader.HasAttributes)
                        {
                            switch (xReader.GetAttribute("name"))
                            {
                                case "KP":
                                    ro[5] = (xReader.GetAttribute("value"));
                                    break;
                                case "KO":
                                    ro[6] = (xReader.GetAttribute("value"));
                                    break;
                                case "name":
                                    ro[7] = (xReader.GetAttribute("value"));
                                    break;
                                case "leader_fio":
                                    ro[8] = (xReader.GetAttribute("value"));
                                    break;
                                case "responsible_post":
                                    ro[9] = (xReader.GetAttribute("value"));
                                    break;
                                case "responsible_fio":
                                    ro[10] = (xReader.GetAttribute("value"));
                                    break;
                                case "phone":
                                    ro[11] = (xReader.GetAttribute("value"));
                                    flag = false;
                                    break;
                            }
                        }
                    }
                }
 
                ro[0] = "" + ro[1] + "" + ro[5] + "";
            }
            catch (Exception ex) 
            {
                System.Windows.MessageBox.Show( ex.Message +" "+ patch);
 
            }
            return ro;
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4 из 5
Похожие ответы