2009-05-19 7 views
1

J'essaie de créer un nouveau thread et d'envoyer plusieurs paramètres ainsi qu'un délégué pour rendre compte.VB9 Nouveau thread avec plusieurs paramètres

Dans VB8 je déteste toujours faire cela parce qu'il faut soit introduire une nouvelle classe/structure ou un délégué.

Y a-t-il une meilleure façon de faire cela dans VB9?

Je suis à la recherche d'un quelque chose comme la solution suivante:

Dim Th As New Thread(AddressOf DoStuff) 
    Th.Start(param1, param2, AddressOf ReportStatus) 

Je ne suis pas bon avec LINQ et Lambda, donc je suis saut que quelqu'un va me montrer un truc cool de le faire.

Répondre

2

Vous pouvez passer une fonction anonyme au constructeur de thread.

Dim Th = New Thread(Sub() DoStuff(param1, param2, AddressOf ReportStatus)) 

mais malheureusement, il n'y a pas de sous-marins anonymes VB9 (ils seront en VB10 - En C# devrait déjà fonctionner).

+0

OK, je pensais que c'était possible dans VB9, honte à MS –

+0

Honte à MS? Ce sont des gens comme vous qui donnent une mauvaise réputation à MS. Microsoft a constamment amélioré les langages VB et C# avec chaque version. Honte à vous pour ne pas donner de crédit lorsque le mérite est mérité. –

1

Non. Rien de nouveau dans VB9.

0

Peut-être que vous êtes déjà familier avec cela, mais en fonction de votre application, l'utilisation de ThreadPool peut être utile et facile. Je ne sais pas grand-chose sur l'envoi de paramètres avec ThreadPool.QueueUserWorkItem, mais la page this semble donner un bon tutoriel impliquant des expressions lambda et des types anonymes. C'est en C# mais je suis sûr que cela se traduirait par VB.

+0

En fait j'essaye de quelque chose de similaire mais cette page est en C# (je peux lire C# et convertir sauf Linq et Lambad :)). Aussi, je ne suis pas sûr de combien de cela peut être appliqué à VB.NET –

Questions connexes