Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 25.03.2013, 14:05   #1
maxspace
 
Регистрация: 04.01.2012
Сообщений: 6
Репутация: 10
По умолчанию .NET 4.x Передача в новый поток метода с параметрами из другого класса

Здравствуйте! Помогите, пожалуйста, решить такую задачу, есть 4 класса: Class1, Class2, Class3, Class4

Код:

namespace name
{
    public partial class Class1 : Form
    {
        public Class1()
        {
            InitializeComponent();
        }
 
        Class2 cl2 = new Class2();
        List<Class3> cl3;
        Class4 cl4 = null;
        
        public void Work(Class3 Clthree, Class4 Clfour)
        {
           .
           .
           .
            
            Class2.Job(ref Clthree, Clfour.var1); // необходимо запустить этот метод в нескольких потоках
            
           .
           .
           .
                          
        }
             
    }
}

Код:

namespace name
{
    public class Class3
    {
        .
        .
        . 
        
    }
       
    public class Class4
    {
        .
        .
        .
        
        public double var1;
    
        .
        .
        .
    }   

}

Код:

namespace name
{
    public class Class2
    {
        .
        .
        .       
   
        public void Job(ref Class3 DoTheJob, double Amount)   
                                                              
        {
            .
            .
            .
            
        }                      
        
    }
}

мне необходимо запустить метод Class2.Job(ref Clthree, Clfour.var1); в нескольких потоках, подскажите, каким образом это можно реализовать?

Последний раз редактировалось maxspace; 25.03.2013 в 14:10.
maxspace вне форума   Ответить с цитированием
Старый 25.03.2013, 14:26   #2
Luuzuk
Участник клуба
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Адрес: Самара
Сообщений: 975
Репутация: 605

icq: З7ЧЗЗ89Ч5
По умолчанию

1) ref Можно убрать, т.к. класс и без него по ссылке передастся
2) new Thread().Start() или BackgroungWorker никто не отменял (http://msdn.microsoft.com/en-us/library/f00zz5b2.aspx)
3) Как передать два параметра, когда оба способа из п.2 передают только один параметр типа object? Легко: размещаем оба наших параметра в массиве объектов и передаем этот массив в качестве параметра. На "принимающей" стороне явно приводим его обратно к необходимому типу и достаем оба наших параметра
__________________
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вызов метода с параметрами из Dll LISTAT C# (си шарп) 11 18.04.2013 11:26
JList Listener непонятки c вызовом метода из другого класса alekola Общие вопросы по Java, Java SE, Kotlin 1 22.11.2012 02:12
Конструктор класса не хочет принимать в качестве параметра адрес объекта другого класса Jugger Помощь студентам 3 05.01.2012 04:10
Передача метода класса в CreateThread mike_tihomirov Win Api 3 17.07.2010 14:13
Передача метода класса в качестве параметра в другой метод Dmytry87 Общие вопросы C/C++ 0 12.11.2008 16:28


11:14.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru