Преобразование collection.foreach из c # в VB.Net - PullRequest
2 голосов
/ 13 мая 2009

В C # я просто помещаю метод в скобки, который я хочу запустить в каждой строке коллекции, но он не работает в VB.NET.

например:

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

Я пробовал это в VB.Net, но он не компилируется, и я не совсем уверен, чего мне не хватает.

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

Если я разобью его на части и сделаю это вручную, это сработает:

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

Я просто пытаюсь немного почистить вещи

Спасибо Тони W

1 Ответ

4 голосов
/ 13 мая 2009

Попробуйте это:

parts.ForEach(AddressOf TestMethod)

Фактически метод ForEach принимает делегат типа Action , и вы должны использовать AddressOf для передачи указателя на данный метод в VB.NET

...