【问题标题】:Converting C# razor function/sub to VB将 C# razor 函数/sub 转换为 VB
【发布时间】:2018-08-01 06:05:26
【问题描述】:

我在我的 MVC 应用程序中使用 Telerik 控件。提供的演示都是 C#,我正在努力转换一些帮助代码......特别是这个:

.DataSource(source >=
{
    source.Read(read >=
    {
        read.Action("MyAction", "MyController");
      });
  })

我尝试过在线 C# 到 Vb 转换器(甚至是 Telerik 提供的一种),但没有任何乐趣。任何人都可以帮助或将我指向一个可以的资源。

谢谢

【问题讨论】:

  • 这不是合法的 C#。您不能将 . 作为语句的初始字符。
  • 另外,read >= read.Action(...) 应该是read => read.Action(...)吗?
  • 你确定>= 不是=>
  • 该语法看起来像是写错了 (@JoelCoehoorn cmets) lambda 表达式。查看 msdn 文档docs.microsoft.com/en-us/dotnet/visual-basic/programming-guide/…

标签: c# vb.net razor asp.net-mvc-5 telerik-mvc


【解决方案1】:

我认为是这样的:

read >= read.Action(...)

应该是这样的:

read => read.Action(...)

如果那是准确的,那么您正在寻找这样的东西:

.DataSource(Function(source) source.Read(Function(read) read.Action("MyAction", "MyController")))

或者这个:

.DataSource(Function(source) source.Read(Sub(read) read.Action("MyAction", "MyController")))

取决于read.Action() 是否返回结果以及source.Read() 函数的期望。

您还应该将那条长语句分成多行以提高可读性,但我在 VB 中的使用频率已经不够高,无法准确记住规则是什么。我必须让 Visual Studio 告诉我,你自己做的比我快得多。

【讨论】:

  • 嗯 >= 是从 Telerik 演示页面复制的,可能解释了为什么他们的转换器不起作用......只是尝试你的答案。
猜你喜欢
  • 2011-07-06
  • 1970-01-01
  • 2021-07-11
  • 1970-01-01
  • 1970-01-01
  • 2012-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多