Thread Invoke z parametrem tablicy objektów

0

Witam.

Jak do tej pory, posiadam taki oto kod:

private FormConsole                     console;
private string                          worker_input;
private string                          worker_output;
public  delegate void                   UpdateConsole();
public  Thread                          worker;

public Interpreter( FormConsole console ) {
            this.console    =   console;
            worker          =   new Thread( new ThreadStart(ThreadProc) );
        }

public void startInterpreter( string input_code ) {
            worker_input    =   input_code;
            worker.Start();
        }

public void ThreadProc() {
            worker_output   =   worker_input;
            for ( int i = 0; i<10; i++ ) {
                console.Invoke( new UpdateConsole(updateConsole) );
                Thread.Sleep(1000);
            }
            startInterpreter( worker_input );
        }

public void updateConsole() {
            console.writeLine( worker_output );
        }

Chciałbym go przerobić tak aby funkcja updateConsole (Invoke w ThreadProc) przekazywała parametr String, chociaż już teraz interesuje mnie abym mógł przekazać tam nieskończoną liczbę obiektów jako object[] {...}. Niestety, szukałem rozwiązania na wielu stronach, między innymi: youtube, tutaj w wszyszukiwarce forum, MSDN, nic nie znalazłem. Jedynie rozwiązania bardziej przystępne znalazłem na stronie MSDN z inną strukturą Thread jako klasa po niej dziedzicząca, bądź z jedną zmienną przekazywaną :/ ale to mnie nie satysfakcjonuje.
Jak można przekazać do funkcji delegata tablicę objektów?

1

Użyj Thread z ParameterizedThreadStart zamiast ThreadStart: https://www.dotnetperls.com/threadstart

Czemu w ogóle używasz Thread a nie Task?

1 użytkowników online, w tym zalogowanych: 0, gości: 1