通用列表扩展方法 ForEach 停止工作?

发布于 2024-10-08 03:30:33 字数 644 浏览 4 评论 0原文

我有一个继承 Generic.List 的自定义列表,它有一个用于取消选择所有名为 DeselectAll 的成员的方法。

它看起来像这样已经有几个星期了,而且工作得很好。

Public Sub DeselectAll()
    MyBase.ForEach(Function(p As Publipostable) p.ModeEnvoiChoisi = Nothing)
End Sub

今天,它停止工作了?!?我使用委托恢复到早期版本,效果很好...

Public Sub DeselectAll()
    MyBase.ForEach(AddressOf DeselectModeEnvoi)
End Sub

Private Sub DeselectModeEnvoi(ByVal p As IPublipostable)
    p.ModeEnvoiChoisi = Nothing
End Sub

有人看到过这种行为吗?它位于 asp.net 3.5 应用程序中。

只是想知道, 山姆

编辑: 停止工作意味着它不再将列表中每个项目的属性 p.ModeEnvoiChoisi 设置为 Nothing。 DeselectAll 方法被调用,但所有项目都保留其先前的值...

I have a custom list that inherits Generic.List and it has a method for deselecting all of the members named DeselectAll

It has looked like this for a few weeks and has worked fine.

Public Sub DeselectAll()
    MyBase.ForEach(Function(p As Publipostable) p.ModeEnvoiChoisi = Nothing)
End Sub

Today, it stopped working ?!? I reverted to an earlier version using delegates and that works fine...

Public Sub DeselectAll()
    MyBase.ForEach(AddressOf DeselectModeEnvoi)
End Sub

Private Sub DeselectModeEnvoi(ByVal p As IPublipostable)
    p.ModeEnvoiChoisi = Nothing
End Sub

Has anyone seen this behavior? It's in an asp.net 3.5 app.

Just wondering,
Sam

Edit:
Stopped Working meaning it no longer sets the property p.ModeEnvoiChoisi to Nothing on each item in the list. The DeselectAll method gets called, but all the items retain their previous values...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笑咖 2024-10-15 03:30:33

在.net 3.5中,VB没有办法区分相等运算符和集合运算符,因为两者都是“=”并且编译器选择相等检查(我知道很奇怪)。在 .net 4.0 中,您可以在 lambda 函数中使用集合运算符,不会出现任何问题,但在 .net 3.5 中,您不能在 VB 中使用。

In .net 3.5 VB doesn't have a way to distinguish between an equality operator vs a set operator since both are "=" and the compiler choses the equality check (weird I know). In .net 4.0 you can use set operators in lambda functions without problems, but in .net 3.5 you can't in VB.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文