我有一个集合
基本上,我不想为
我的问题是,如何将
IEnumerable<School>
,它被传递给一个扩展方法,该方法填充了一个 DropDownList
。我还想将 DataValueField
和 DataTextField
作为参数传递,但我希望它们是强类型的。基本上,我不想为
DataValueField
和 DataTextField
参数传递一个字符串,这样容易出错。public static void populateDropDownList<T>(this DropDownList source,
IEnumerable<T> dataSource,
Func<T, string> dataValueField,
Func<T, string> dataTextField) {
source.DataValueField = dataValueField; //<-- this is wrong
source.DataTextField = dataTextField; //<-- this is wrong
source.DataSource = dataSource;
source.DataBind();
}
以下是调用方式...
myDropDownList.populateDropDownList(states,
school => school.stateCode,
school => school.stateName);
我的问题是,如何将
DataValueField
和 DataTextField
作为参数强类型传递给 populateDropDownList 方法以填充下拉列表?