Mic*_*ski 6 c# asp.net predicate c#-4.0
我有 :
public void InitializeStatusList(DropDownList list)
{
var dictionaryEntries = GetEntriesFromDatabase();
list.DataSource = dictionaryEntries.Where(entry => entry is EntryStatus1 || entry is EntryStatus2);
list.DataBind();
}
Run Code Online (Sandbox Code Playgroud)
我有很多这样的功能.我想用dictionaryEntries查询条件作为谓词传递来编写通用函数.
例如:
public void InitializeStatusList(DropDownList list)
{
CommonInitializeStatusList(DropDownList list, entry => entry is EntryStatus1 || entry is EntryStatus2);
}
public void CommonInitializeStatusList(DropDownList list, ??????????????? predicate)
{
var dictionaryEntries = GetEntriesFromDatabase();
list.DataSource = dictionaryEntries.Where(predicate);
list.DataBind();
}
Run Code Online (Sandbox Code Playgroud)
什么代表什么 ???????????????
提前致谢
小智 7
你可以这样做:
public void InitializeStatusList(DropDownList list)
{
Func<Entry,bool> predicate=entry=>entry is EntryStatus1 || entry is EntryStatus2;
CommonInitializeStatusList(list, predicate);
}
public void CommonInitializeStatusList(DropDownList list, Func<Entry,bool> predicate)
{
var dictionaryEntries = GetEntriesFromDatabase();
list.DataSource = dictionaryEntries.Where(predicate);
list.DataBind();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9661 次 |
| 最近记录: |