2010-03-27 7 views
1

J'ai eu un morceau de code C# converti, mais le code traduit n'est pas valide ... Quelqu'un peut-il aider?Pourquoi ce code VB.NET (traduit) ne fonctionne-t-il pas?

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

Le paramètre de type Jrc3.BLL.Product n'est pas le même que le type Hobby – Jimmy

+0

Lol, j'ai oublié de changer ... Je voulais dire syntaxiquement ce n'est pas accepté ... "Fonction (hobby, css) Do" fait dire VS 'Do' n'est pas prévu là ... – Ropstah

Répondre

3

On dirait que vous essayez d'utiliser une instruction lambda dans VB.net. Ceux-ci ne sont pas pris en charge dans VB.net jusqu'à ce que Visual Studio 2010. La version précédente de la langue ne supporte que l'expression lambdas qui ne fonctionne pas dans ce scénario

Si vous utilisez 2010, vous devez retirer le Do immédiatement après la Function entête. Ce n'est pas nécessaire et forcera à la place le lambda à être une expression lambda au lieu d'une déclaration lambda.

+0

Merci pour la perspicacité, mais que dit cet article alors? http://blogs.msdn.com/codeanalysis/archive/2007/09/21/new-for-visual-studio-2008-support-for-anonymous-methods-and-lambda-expressions.aspx – Ropstah

Questions connexes