繁体   English   中英

将C#Lambda转换为vb.net

[英]Convert C# Lambda to vb.net

需要帮助将其转换为VB.NET

   public void GetCustomers(Action<IEnumerable<Customer>> onSuccess, Action<Exception> onFail)
    {
        Manager.Customers.ExecuteAsync(op =>
              {
                  if (op.CompletedSuccessfully)
                  {
                      if (onSuccess != null) 
                          onSuccess(op.Results);
                  }
                  else
                  {
                      if (onFail != null)
                      {
                          op.MarkErrorAsHandled();
                          onFail(op.Error);
                      }
                  }
              }
           );
    }

您可以使用以下语法执行内联匿名函数/订阅:

Manager.Customers.ExecuteAsync( Sub (op)
                                  If op.CompletedSuccessfully Then
                                    ...
                                  Else
                                    ...
                                  EndIf
                                End Sub )

有时,当您内联使用它时,事情会变得很不稳定,所以当发生这种情况时,我给本地子/函数起一个名字:

Dim SomeFun as Action(Of OpType) = Sub (op)
                                     ...
                                   End Sub

这很好,因为您仍然可以关闭词法环境。

这全部来自内存-我在家中没有VS(并且我尽量不要在工作中骚扰SO)。 特别是,我不确定我的结束时间是否在正确的地方。

MSDN 参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM