Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        public void Evaluate_Member()
        {
            Expression <Func <DummyA, string> > expression = (a) => a.B1.Tittel;

            var actualMemberName = MemberEvaluator.Evaluate(expression);

            Assert.AreEqual("B1.Tittel", actualMemberName);
        }
Esempio n. 3
0
        public void Evaluate_Nested_Member()
        {
            Expression <Func <DummyA, DummyA> > expression = a => a.B1.A;

            var actualMemberName = MemberEvaluator.Evaluate(expression);

            Assert.AreEqual("B1.A", actualMemberName);
        }
Esempio n. 4
0
        public void Reset()
        {
            dependencyMap   = new DependencyMap();
            memberEvaluator = new MemberEvaluator(attributeCache, dependencyMap);

            RegisterDefaultDependencyResolvers();
            GameObjectInjector.ResetVisited();
        }
Esempio n. 5
0
 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();
 }
Esempio n. 6
0
 /// <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)));
 }
Esempio n. 7
0
 private static string EvaluateMemberSelector <TDataObject>(Expression <Func <TDataObject, object> > memberSelector)
 {
     return(MemberEvaluator.Evaluate(memberSelector));
 }