c# - 将 collection.foreach 从 C# 转换为 VB.Net

标签 c# vb.net subsonic foreach

在 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

最佳答案

试试这个:

parts.ForEach(AddressOf TestMethod)

事实上,ForEach 方法接受 Action 类型的委托(delegate),您应该使用 AddressOf 将指针传递给 VB.NET 中的给定方法

关于c# - 将 collection.foreach 从 C# 转换为 VB.Net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/855043/

相关文章:

c# - 我可以声明一个在一行中使用并在行后立即丢弃的变量吗?

mysql - 使用mysql在datagridview上显示pdf文件

subsonic - Subsonic 与 .Net 4.0 兼容吗

c# - 为什么 SubSonic 的 ActiveRecord T4 模板生成 ActiveRecord1.cs 而不是 ActiveRecord.cs?

c# - NAudio 错误 : "NoDriver calling acmFormatSuggest"

c# - Entity Framework 避免延迟加载/已打开 DataReader 问题

c# - 将 HTML div 值传递给 JavaScript 代码的格式

c# - 来自 list<object> , ToString() 它们只是当它们是原始类型或重写此方法时

javascript - JQuery 点击 3 次隐藏按钮

subsonic - 删除绑定(bind)到 datagridview 的集合中的多个项目需要永远