2010-03-27 74 views
1

我有一段C#代碼轉換,但翻譯的代碼是無效的...有人可以幫忙嗎?爲什麼不這(翻譯)VB.NET代碼工作?

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)%> 
+2

類型參數Jrc3.BLL.Product與類型不一樣Hobby – Jimmy 2010-03-27 23:40:47

+0

Lol,忘記了改變...我的意思是語法上它沒有被接受......「函數(hobby,css)」讓VS說: 'Do'預計不會在那裏... – Ropstah 2010-03-28 00:24:15

回答

3

它看起來像你正試圖VB.net中使用的語句拉姆達。這些都不是在VB.net支持到Visual Studio 2010中的語言以前的版本僅支持表達lambda表達式不在這種情況下

如果使用2010,您需要刪除Do緊隨Function工作頭。這不是必要的,而是強制lambda成爲表達式lambda而不是語句lambda。

+0

感謝您的洞察,但是這篇文章說了些什麼呢? http://blogs.msdn.com/codeanalysis/archive/2007/09/21/new-for-visual-studio-2008-support-for-anonymous-methods-and-lambda-expressions.aspx – Ropstah 2010-03-28 15:06:48