Passagem de parâmetro no método

09/01/2018

Olá pessoal, tudo bem?!

Tenho um cenário onde preciso iniciar processamentos em base de dados 'remotas' que possuem o mesmo nome de 'procedure'.

Vou conectar na base remota e executar a procedure passando, obviamente, parâmetros diferentes para 'cada execução'.

Tentei utilizar o "new Task", mas não permitiu passar parâmetro no método, retornando erro na linha:
"Task t1 = new Task(ExecProc(A, B, 3, Conn));"


Não é permitido passar parâmetro no método desta forma?

Exemplificando:

foreach (var item in collection)
                {
                  //conecta na base de dados remota x
                  ...

                  //Método que recebe parâmetros e executa procedure na base remota
                  Task t1 = new Task(ExecProc(A, B, 3, Conn));

                  // Inicia a tarefa
                  t1.Start();
                    
                }

                
                private int ExecProc(string Nome, string End, int Cod, connection Conn)
                {
                   //executa procedure
                }

Grato desde já pela ajuda.


Essa dúvida foi gerada a partir de um comentário no artigo Execução de tarefas em paralelo no .NET 4.0

Melhor resposta

09/01/2018

Boa noite, tudo bem?

Tente da seguinte forma:

  //Método que recebe parâmetros e executa procedure na base remota
                  Task t1 = new Task(  () =>  ExecProc(A, B, 3, Conn));
 
                  // Inicia a tarefa
                  t1.Start();



:)

Wilson Neto

Currículo
Responder Citar

Outras Respostas

11/01/2018

Crusco Currículo

Obrigado Wilson, vou fazer este teste!!
Responder Citar

12/01/2018

Wilson Neto Currículo

Obrigado Wilson, vou fazer este teste!!


Beleza!
Responder Citar

14/01/2018

Crusco Currículo

Funcionou cara!! Obrigado pela ajuda!!
Responder Citar

14/01/2018

Wilson Neto Currículo

Funcionou cara!! Obrigado pela ajuda!!


Show.

Nada! :D
Responder Citar