我有一個IEnumerable<School>
的集合正在傳遞給擴展 方法,該方法將填充DropDownList
。我還想通過 DataValueField
和DataTextField
作爲參數,但我希望它們是 強類型。將強類型屬性名稱作爲參數傳遞
基本上,我不想爲DataValueField
和DataTextField
參數傳遞string
,這很容易出錯。
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?
我不明白這些字段類型的字符串。 – jfin3204