2009-05-12 7 views
2

En C# je viens de mettre la méthode entre parenthèses que je veux exécuter sur chaque ligne de la collection, mais cela ne fonctionne pas dans VB.NET.Conversion d'une collection.foreach de C# en VB.Net

ex:

SubSonic.PartCollection Parts; 
... 
Parts.ForEach(TestMethod); 

J'ai essayé cela en VB.Net, mais il ne la compilation, et je ne suis pas tout à fait sûr de ce que je suis absent.

Dim Parts as SubSonic.PartCollection 
... 
parts.ForEach(TestMethod) 

Si je le briser et de le faire manuellement fonctionne:

for each p as SubSonic.Part in Parts 
    TestMethod(p) 
next 

Je suis juste essayer de nettoyer les choses un peu

Merci Tony W

Répondre

4

Essayez ce:

parts.ForEach(AddressOf TestMethod) 

En fait, la méthode ForEach accepte un délégué du type d'action <T> et vous devez utiliser le AddressOf pour passer un pointeur vers une méthode donnée dans VB.NET

+0

Impressionnant, qui était-il Merci Tony W –