Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2013, 14:05   #1
maxspace
 
Регистрация: 04.01.2012
Сообщений: 6
По умолчанию .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
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вызов метода с параметрами из 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 15:28