在VB.NET中,我爲來自任何數據源(例如DataReader或IReader或集合等)的數據綁定gridviews/dropdownlists /等創建了2個簡寫函數:VB.NET to C#:在對象上使用數據綁定方法
Public Shared Sub BindObject(ByVal objDataSource As Object, ByVal objItem As Object)
objItem.DataSource = objDataSource
objItem.DataBind()
End Sub
Public Shared Sub BindObject(ByVal objDataSource As Object, ByVal objItem As Object, ByVal sTextField As String, ByVal sValueField As String)
objItem.DataSource = objDataSource
If sTextField <> "" Then objItem.DataTextField = sTextField
If sValueField <> "" Then objItem.DataValueField = sValueField
objItem.DataBind()
End Sub
我轉換這對C#這樣:
public static void BindObject(object objDataSource, object objItem)
{
objItem.DataSource = objDataSource;
objItem.DataBind();
}
public static void BindObject(object objDataSource, object objItem, string sTextField, string sValueField)
{
objItem.DataSource = objDataSource;
if (!string.IsNullOrEmpty(sTextField))
objItem.DataTextField = sTextField;
if (!string.IsNullOrEmpty(sValueField))
objItem.DataValueField = sValueField;
objItem.DataBind();
}
然而,這顯然是行不通的數據綁定方法不objItem訪問,除非我明確地將其轉換爲一個類型如「ListBox」或「Gridview」等,同樣我想保留靈活性,可以是IReader,iCollection等。
是否有可能在C#中使用匿名方法或類似方法複製VB.NET方法?
謝謝。
我可能只是決定添加一個VB類庫,儘管它似乎有點矯枉過正爲了一個功能 – Peter