public static string[] Find(params Expression <Func <T, object> >[] filterExps) { var result = new List <string>(); foreach (var exp in filterExps) { var finder = new ExclusiveNameFinder(); finder.Visit(exp); if (!string.IsNullOrEmpty(finder.propertyName)) { result.Add(finder.propertyName); } } return(result.ToArray()); }
/// <summary> /// 初始化 <see cref="JsonFilterConverter"/> 类的新实例。 /// </summary> /// <param name="filterExps"></param> public JsonFilterConverter(params Expression <Func <T, object> >[] filterExps) { exclusiveNames = filterExps == null ? null : ExclusiveNameFinder.Find(filterExps); }