摘要:ObservableCollectionExtension
之前寫Window Phone 7時,用ObservableCollection物件為了方便寫的擴充方法。
由於沒碰Window 8所以不知道.NET 4.5是否有類似的方法已被新增
namespace Yos.Dev.Ext
{
public static class ObservableCollectionExtension
{
public static bool Exists(this ObservableCollection collection, Predicate predicate)
{
bool exists = false;
foreach (T item in collection)
{
exists = predicate.Invoke(item);
if (exists)
break;
}
return exists;
}
public static void ForEach(this ObservableCollection collection, Action action)
{
foreach (T item in collection)
{
action.Invoke(item);
}
}
public static T Find(this ObservableCollection collection, Predicate predicate)
{
foreach (T item in collection)
{
if (predicate.Invoke(item))
return item;
}
return default(T);
}
public static ObservableCollection FindAll(this ObservableCollection collection, Predicate predicate)
{
ObservableCollection result = new ObservableCollection();
collection.ForEach(item =>
{
if (predicate.Invoke(item))
result.Add(item);
});
return result;
}
}
}