2

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

4

1 に答える 1

4

これを試して:

parts.ForEach(AddressOf TestMethod)

実際、ForEach メソッドは Action<T> 型のデリゲートを受け入れ、AddressOf を使用して VB.NET の特定のメソッドにポインターを渡す必要があります。

于 2009-05-12T21:53:13.303 に答える