Hi,
weil dieses Thema sonst nirgentwo passt, schreibe ich es hier.
Ich habe in C# eine Klasse mit eigenschaften (ein Object/Typ) und ich möchte einen Thread laufen lassen. Dabei möchte ich an die Methode einen Parameter von Typ dieser Klasse übergeben, aber dan streikt der Editor und sagt mir, das es ein Fehler ist, und der akzeptiert es nur, wen man einen object als Parameter durchgibt. Aus VB kenne ich es anders, da hat es (wiedermal) wunderbar funktioniert.
Mein Quellcode:
Kann mir da jemand weiter helfen, der C# kennt und helfen kann^^
Worauf ich hinaus möchte ist dashier:
weil dieses Thema sonst nirgentwo passt, schreibe ich es hier.
Ich habe in C# eine Klasse mit eigenschaften (ein Object/Typ) und ich möchte einen Thread laufen lassen. Dabei möchte ich an die Methode einen Parameter von Typ dieser Klasse übergeben, aber dan streikt der Editor und sagt mir, das es ein Fehler ist, und der akzeptiert es nur, wen man einen object als Parameter durchgibt. Aus VB kenne ich es anders, da hat es (wiedermal) wunderbar funktioniert.
Mein Quellcode:
Quellcode
- private void _recive()
- {
- while (true)
- {
- TcpClient clt = Listener.AcceptTcpClient();
- Streaming strm = new Streaming(clt.GetStream());
- Streams.Add(strm);
- ParameterizedThreadStart lc = new ParameterizedThreadStart(this.ListenClient);
- Thread thrd = new Thread(lc);
- thrd.Start(strm);
- }
- }
- private void ListenClient(object Stream)
- {
- //Streaming strm = Convert.ChangeType(Stream, NetworkStream);
- while(true)
- {
- }
- }
Kann mir da jemand weiter helfen, der C# kennt und helfen kann^^
Worauf ich hinaus möchte ist dashier:
VB.NET-Quellcode
- list.Add(c) ' und fügen sie der liste der clients hinzu.
- Console.WriteLine(c.nick & " has joined.")
- ' falls alle anderen das auch lesen sollen können, an alle clients weiterleiten. siehe SendToAllClients
- Dim t As New Threading.Thread(AddressOf ListenToConnection)
- t.Start(c)
- End While
- End Sub
- Private Sub ListenToConnection(ByVal con As Connection)
- Do
- Try
- Dim tmp As String = con.streamr.ReadLine ' warten, bis etwas empfangen wird...
- Console.WriteLine(con.nick & ": " & tmp)
- SendToAllClients(con.nick & ": " & tmp) ' an alle clients weitersenden.
- Catch ' die aktuelle überwachte verbindung hat sich wohl verabschiedet.
- list.Remove(con)
- Console.WriteLine(con.nick & " has exit.")
- Exit Do
- End Try
- Loop
- End Sub
- 'Quelle: http://www.vb-paradise.de/allgemeines/sourcecode-austausch/28671-multiserver-tcp/