public List <T> GetItemListBySearchStr <T>(List <T> list, FilterCondition condition) { if (list == null) { return(new List <T>()); } return(list.FindAll(d => { object val = ReflectionCommon.GetValue(d, condition.Key); if (val == null) { return false; } return condition.GetRegexValue().IsMatch(val.ToString()); })); }