Example #1
0
        /// <summary>
        /// Call OnField or OnProperty for the given member
        /// </summary>
        private static IInstanceListenerOnFieldOrPropResult CallListener(IInstanceListener listener, InstanceTraversalContext context, MemberInfo memberInfo, Func <object> valueGetter)
        {
            if (memberInfo.MemberType == MemberTypes.Field)
            {
                return(listener.OnField((FieldInfo)memberInfo, valueGetter, context));
            }

            return(listener.OnProperty((PropertyInfo)memberInfo, valueGetter, context));
        }
Example #2
0
 /// <summary>
 /// Call OnField or OnProperty for the given member
 /// </summary>
 private void CallListener(IInstanceListener listener, InstanceTraversalContext context, MemberInfo memberInfo, Func <object> valueGetter)
 {
     if (memberInfo.MemberType == MemberTypes.Field)
     {
         listener.OnField((FieldInfo)memberInfo, valueGetter, context);
     }
     else
     {
         listener.OnProperty((PropertyInfo)memberInfo, valueGetter, context);
     }
 }
        protected InstanceTraverserTestBase()
        {
            listener = A.Fake <IInstanceListener>();
            // traversal should continue through the objects by default
            A.CallTo(() =>
                     listener.OnField(A <FieldInfo> ._, A <Func <object> > ._,
                                      A <IReadOnlyInstanceTraversalContext> ._))
            .Returns(new SimpleInstanceListenerOnFieldOrPropResult {
                DoContinueRecursion = true
            });
            A.CallTo(() =>
                     listener.OnProperty(A <PropertyInfo> ._, A <Func <object> > ._,
                                         A <IReadOnlyInstanceTraversalContext> ._))
            .Returns(new SimpleInstanceListenerOnFieldOrPropResult {
                DoContinueRecursion = true
            });

            Traverser = new InstanceTraverser();
        }