2009-09-17 23 views
1

愚蠢的問題。我試圖創建一個輔助方法,類似於MVC期貨項目的單選按鈕列表東西(作爲一種學習工具)。ASP.net MVC的HtmlHelper在這裏VB.net

我試圖將C#代碼轉換:

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

在VB.net方法簽名,但我不知道如何寫在VB.net的第一個參數,或者你會打電話給我,所以我可以查看它?

回答

2

我相信,只要你記得把它標記爲一個擴展方法,這將工作,你可以查找擴展方法上MSDN.com。他們有如何在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

我不會。但這是擴展方法的簽名。 Here's the MSDN docs在VB中這樣做。

+0

感謝您的鏈接。 – Paddy 2009-09-17 14:55:55

1

他們被稱爲Extension methods,並且這樣的聲明在VB.Net:

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

在VB擴展方法只能從一個模塊,而不是一類,所以一個完整的骨架內聲明定義應該是這個樣子......

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