为什么这个(翻译的)VB.NET代码不起作用?

时间:2010-03-27 23:34:13

标签: vb.net lambda c#-to-vb.net

我转换了一段C#代码,但翻译的代码无效......有人可以帮忙吗?

C#

<table>
  <% Html.Repeater<Hobby>("Hobbies", "row", "row-alt", (hobby, css) => { %>
  <tr class="<%= css %>">
    <td><%= hobby.Title%></td>
  </tr>
  <% }); %>
</table>

VB

<% Html.Repeater(of Hobby)(Model.Hobbies, "row", "row-alt", Function(hobby, css) Do %>   
  <tr class="<%= css %>">
    <td><%= hobby.Title%></td>
  </tr>      
<%  End Function)%>

1 个答案:

答案 0 :(得分:3)

看起来你正试图在VB.net中使用语句lambda。在Visual Studio 2010之前,VB.net不支持这些。该语言的先前版本仅支持在此方案中不起作用的表达式lambdas

如果您使用的是2010,则需要立即删除Do标题后面的Function。这不是必需的,而是强制lambda为表达式lambda而不是语句lambda。