public static IOvBuilderContext <T> ForEach <T>(this IOvBuilderContext <T> builderContext,
                                                 Expression <Action <IObjectVisitorContext <T, object> > > foreachAction)
 {
     builderContext.Add(new ForEachActionContextItem
     {
         ForEachAction  = foreachAction,
         ExpressionType = ForEachActionContextExpressionType.ObjectVisitorContext
     });
     return(builderContext);
 }
 public static IOvBuilderContext <T> ForEach <T>(this IOvBuilderContext <T> builderContext,
                                                 Expression <Action <string, object> > foreachAction)
 {
     builderContext.Add(new ForEachActionContextItem
     {
         ForEachAction  = foreachAction,
         ExpressionType = ForEachActionContextExpressionType.NameAndValue
     });
     return(builderContext);
 }
Esempio n. 3
0
        public static IOvBuilderContext <T> ForEach <T>(this IOvBuilderContext <T> builderContext,
                                                        Expression <Action <string, object> > foreachAction,
                                                        Func <PropertyInfo, bool>?propertyInfoFilter = null)
        {
            var filter = propertyInfoFilter ?? PropertyInfoFilters.AllPropertyInfo;

            builderContext.Add(new ForEachActionContextItem
            {
                PropertyInfoFilter = filter,
                ForEachAction      = foreachAction,
                ExpressionType     = ForEachActionContextExpressionType.NameAndValue
            });
            return(builderContext);
        }
Esempio n. 4
0
        public static IOvBuilderContext <T> ForEach <T, TValue>(this IOvBuilderContext <T> builderContext,
                                                                Expression <Action <string, TValue> > foreachAction,
                                                                Func <PropertyInfo, bool>?propertyInfoFilter = null)
        {
            var filter = propertyInfoFilter ?? (x => x.PropertyType == typeof(TValue));

            builderContext.Add(new ForEachActionContextItem
            {
                ValueExpectedType  = typeof(TValue),
                PropertyInfoFilter = filter,
                ForEachAction      = foreachAction,
                ExpressionType     = ForEachActionContextExpressionType.NameAndValue
            });
            return(builderContext);
        }
Esempio n. 5
0
        public static IOvBuilderContext <T, TExtend> ForEach <T, TExtend>(
            this IOvBuilderContext <T, TExtend> builderContext,
            Expression <Action <IObjectVisitorContext <T, TExtend, object> > > foreachAction,
            Func <PropertyInfo, bool>?propertyInfoFilter = null)
        {
            var filter = propertyInfoFilter ?? PropertyInfoFilters.AllPropertyInfo;

            builderContext.Add(new ForEachActionContextItem
            {
                PropertyInfoFilter = filter,
                ForEachAction      = foreachAction,
                ExpressionType     = ForEachActionContextExpressionType.ObjectVisitorContextWithExtend
            });
            return(builderContext);
        }
Esempio n. 6
0
        public static IOvBuilderContext <T, TExtend> ForEach <T, TExtend, TValue>(
            this IOvBuilderContext <T, TExtend> builderContext,
            Expression <Action <IObjectVisitorContext <T, TExtend, TValue> > > foreachAction,
            Func <PropertyInfo, bool>?propertyInfoFilter = null)
        {
            var filter = propertyInfoFilter ?? (x => x.PropertyType == typeof(TValue));

            builderContext.Add(new ForEachActionContextItem
            {
                ValueExpectedType  = typeof(TValue),
                PropertyInfoFilter = filter,
                ForEachAction      = foreachAction,
                ExpressionType     = ForEachActionContextExpressionType.ObjectVisitorContextWithExtend
            });
            return(builderContext);
        }
 public void Add(IOvBuilderContextItem item)
 {
     _context.Add(item);
 }