C# Multi-Thread probleem met Overloaded method

Pagina: 1
Acties:

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 17-10 16:43
Ik probeer mijn eerste multi-threaded applicatie te maken, hiervoor gebruik ik C# en heb ik een voorbeeld gevolgd van "101 C# samples" van de Microsoft website.

Deze volgende code werkt WEL gewoon:

C#:
1
2
3
4
5
6
7
8
9
private void btnStart_Click(object sender, EventArgs e)
        {
            int ooo = 1;
            Thread t = new Thread(new ThreadStart(Thread1));
            t.Start();

        }
        private void Thread1()
        {


Maar als ik Thread1 Overloaded maak:

C#:
1
2
3
4
5
6
7
8
9
private void btnStart_Click(object sender, EventArgs e)
        {
            int ooo = 1;
            Thread t = new Thread(new ThreadStart(Thread1(ooo)));
            t.Start();

        }
        private void Thread1(int getal)
        {


Wil het project niet debuggen/compilen, en krijg ik telkens de volgende error: "Method Name Expected" met de intellisense uit VS2005 zie ik wel gewoon netjes staan "int getal" als ik een haakje open na "Thread1" in de threadstart. Ik heb al heel wat geklooid met de haakjes, maar kom er niet uit.

Op internet kan ik zo geen voorbeelden vinden van een overloaded thread. Heeft iemand een idee wat ik fout doe? (in mijn optiek lijkt me dit de logische manier, beter dan een publieke variabele integer te maken en deze uit te lezen in het thread omdat deze tijdens de threadstart veranderd zou kunnen zijn (wil natuurlijk meer threads starten)

~ Mijn prog blog!


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 09:27

mulder

ik spuug op het trottoir

Overloaden doe je in de class zelf, niet in een form oid. In dit geval zul je zelfs de Thread class moeten overerven.

[ Voor 34% gewijzigd door mulder op 15-03-2007 19:10 ]

oogjes open, snaveltjes dicht


  • Brakkie
  • Registratie: Maart 2001
  • Niet online

Brakkie

blaat

Moet je deze delegate niet hebben?

http://msdn2.microsoft.co...meterizedthreadstart.aspx

mmm in bovenstaande link staat geen goed voorbeeld deze is beter?

http://msdn2.microsoft.co...edthreadstart(VS.80).aspx

[ Voor 40% gewijzigd door Brakkie op 15-03-2007 19:18 ]

Systeem | Strava


  • BM
  • Registratie: September 2001
  • Laatst online: 11:23

BM

Moderator Spielerij
C#:
1
2
3
4
5
6
7
8
9
10
11
private void btnStart_Click(object sender, EventArgs e)
        {
            int ooo = 1;
            Thread t = new Thread(new ParameterizedThreadStart(Thread1));
            t.Start(ooo);

        }
        private void Thread1(object getal)
        {
          int param = (int)getal;
        }


Volgens mij zoek je zoiets?

edit:

Voortaan alle reacties even verder bekijken, laatste link van de reactie boven me geeft je dezelfde informatie.

[ Voor 15% gewijzigd door BM op 15-03-2007 20:48 ]

Xbox
Even the dark has a silver lining | I'm all you can imagine times infinity, times three


  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 17-10 16:43
@ Don focando.. eh begrijpen wij elkaar? :)

@ Brakkie en BM, hardstikke bedankt voor de links en het voorbeeld het werkt nu maar waar ook nog op gelet moet worden is dat de overload van in mijn voorbeeld Thread1(object getal) moet zijn en niet (int getal) of (str getal) want dat werkt blijkbaar niet (BM deed het uit zichzelf al goed)... verder had ik gezocht op overloaded thread start, maar het woord parameterizedthreadstart had ik nog niet bedacht, dank daarvoor, heb het in de standaard voorbeeldjes ook niet zien staan.

_/-\o_

[ Voor 69% gewijzigd door roy-t op 15-03-2007 22:47 ]

~ Mijn prog blog!