【问题标题】:How to convert this C# code to Visual basic如何将此 C# 代码转换为 Visual Basic
【发布时间】:2010-08-19 13:12:39
【问题描述】:

我不知道如何将带有委托的 C# 代码转换为 Visual Basic 代码,您能帮帮我吗?

List<XmlUser> matchingUsers = this.Store.Users.FindAll(delegate(XmlUser user) 
    {
        return user.Email.Equals(emailToMatch,
            StringComparison.OrdinalIgnoreCase);
    }
);

【问题讨论】:

标签: c# vb.net delegates


【解决方案1】:
Dim matchingUsers As List(Of XmlUser) = Me.Store.Users.FindAll( _
    Function(user As XmlUser) user.Email.Equals(emailToMatch, StringComparison.OrdinalIgnoreCase) _
)

【讨论】:

  • 诀窍是这至少需要 Visual Studio 2008,因为 emailToMatch 变量是一个闭包。
  • 闭包从他们第一次添加匿名委托(即 .NET 2.0 VS2005)开始就可用
【解决方案2】:

编译代码。获取 .Net 反射器:

http://www.red-gate.com/products/reflector/

并选择 Visual Basic 进行反汇编。这是在 2 种语言之间进行转换的简单方法。

【讨论】:

  • 里面有一个闭包转换。反射出来的代码会和原来有很大的不同。
  • 是的,对于此代码,反映的代码不会那么完美,但生成的代码可以工作。我建议使用反射器,以便他将来能够解决此类“转换”问题而无需进一步询问。
【解决方案3】:

我使用this converter 取得了一些成功。我会从那里开始。

此外,快速的 Google 搜索应该会给您一些不错的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    相关资源
    最近更新 更多