2009-09-17 9 views
1

question stupide ici. J'essaie de créer une méthode d'aide, quelque chose de similaire à la liste des boutons radio dans le projet MVC futures (en tant qu'outil d'apprentissage).ASP.net MVC HtmlHelper dans VB.net

Je suis en train de convertir le code C#:

public static string[] RadioButtonList(this HtmlHelper htmlHelper, string name, IDictionary<string, object> htmlAttributes) { 

à une signature de méthode dans VB.net, mais je ne sais pas comment écrire le premier paramètre dans VB.net, ou ce que vous appellerait cela, afin que je puisse le rechercher?

Répondre

2

Je crois que cela fonctionnera tant que vous vous souvenez de le marquer comme une méthode d'extension, vous pouvez rechercher des méthodes d'extension sur MSDN.com. Ils ont des exemples de comment écrire des méthodes d'extension dans VB.net.

<System.Runtime.CompilerServices.Extension> _ 
Public Shared Function RadioButtonList(ByVal htmlHelper As HtmlHelper, ByVal name As String, ByVal htmlAttributes As IDictionary(Of String, Object)) As String() 
    
End Function 
2

Je ne suis pas non plus. Mais ceci est la signature d'une méthode d'extension. Here's the MSDN docs en faisant cela dans VB.

+0

Merci pour le lien. – Paddy

1

Ils sont appelés Extension methods, et sont déclarés dans VB.Net comme ceci:

<System.Runtime.CompilerServices.Extension()> _ 
Public Sub RadioButtonList(ByVal name As String, ...) 
// There's no "this" parameter at all... 
1

Les méthodes d'extension en VB ne peuvent être déclarés à l'intérieur d'un module, pas une classe, donc un squelette complet définition ressemblerait à quelque chose comme ça ...

Imports System.Web.Mvc 

Public Module MyModule 

    <System.Runtime.CompilerServices.Extension> _ 
    Public Function MyHelper (ByVal helper As HtmlHelper, MyParameter as String) As String 

    End Function 

End Module 
Questions connexes