private static object FindItem(IEnumerable items, PropertyInfo pi, PropertyInfo cpi, object value) { object item = null; foreach (var i in items) { item = pi != null?pi.GetValue(i) : i; if (item.Equals(value)) { return(i); } if (EqualsChecker.Check(value, item)) { return(i); } item = FindItem(cpi.GetValue(i) as IEnumerable, pi, cpi, value); if (item != null) { return(item); } } return(null); }
static bool FindItem(IList list, object item) { foreach (object i in list) { if (EqualsChecker.Check(item, i)) { return(true); } //if (item.Compare(i)) // return true; } return(false); }