public bool Pass(object itemSource, string filterText) { if (string.IsNullOrEmpty(filterText)) { return(true); } if (itemSource == null) { return(true); } if (itemSource is TItem item) { return(FilterContent(GetItemContent(item), filterText)); } var itemContentMember = ContentMember; if (itemContentMember != null) { var tuple = new Tuple <Type, string>(itemSource.GetType(), itemContentMember); if (ContentMemberEvaluators.TryGetValue(tuple, out var evaluator) == false) { ContentMemberEvaluators[tuple] = evaluator = new MemberEvaluator(itemContentMember); } return(FilterContent(evaluator.GetValue(itemSource), filterText)); } return(FilterContent(itemSource, filterText)); }
public void Evaluate_Member() { Expression <Func <DummyA, string> > expression = (a) => a.B1.Tittel; var actualMemberName = MemberEvaluator.Evaluate(expression); Assert.AreEqual("B1.Tittel", actualMemberName); }
public void Evaluate_Nested_Member() { Expression <Func <DummyA, DummyA> > expression = a => a.B1.A; var actualMemberName = MemberEvaluator.Evaluate(expression); Assert.AreEqual("B1.A", actualMemberName); }
public void Reset() { dependencyMap = new DependencyMap(); memberEvaluator = new MemberEvaluator(attributeCache, dependencyMap); RegisterDefaultDependencyResolvers(); GameObjectInjector.ResetVisited(); }
public void Reset() { counter++; if (counter > 1) { Debug.LogError(nameof(DependencyContainer) + " called more than once"); } dependencyMap = new DependencyMap(); memberEvaluator = new MemberEvaluator(attributeCache, dependencyMap); RegisterDefaultDependencyResolvers(); GameObjectInjector.ResetVisited(); }
/// <summary> /// Determines whether [is read only] [the specified property selector]. /// </summary> /// <param name="propertySelector">The property selector.</param> /// <returns> /// <c>true</c> if [is read only] [the specified property selector]; otherwise, <c>false</c>. /// </returns> public bool IsPropertyReadOnly(Expression <Func <TDataObject, object> > propertySelector) { return(_innerDataObjectAccess.IsPropertyReadOnly(MemberEvaluator.Evaluate(propertySelector))); }
private static string EvaluateMemberSelector <TDataObject>(Expression <Func <TDataObject, object> > memberSelector) { return(MemberEvaluator.Evaluate(memberSelector)); }