Пример #1
0
        public static ImmutableInstanceWrapper <TRoot, TRoot> Set <TRoot, T>(this TRoot source, Expression <Func <TRoot, T> > expression, Func <TRoot, T> valueFunc)
            where TRoot : class, IImmutable
        {
            var wrapper = new RootWrapper <TRoot>(source);

            wrapper.Target.Set(expression, valueFunc);
            return(wrapper.Target);
        }
Пример #2
0
        public static ImmutableListWrapper <TRoot, T> With <TRoot, T>(this TRoot source, Expression <Func <TRoot, ImmutableList <T> > > expression)
            where TRoot : class, IImmutable
            where T : class, IImmutable
        {
            var wrapper = new RootWrapper <TRoot>(source);

            return(wrapper.Target.With(expression));
        }
Пример #3
0
        public static IReflector CreateRootReflector <T> (T value) where T : new()
        {
            if (value == null)
            {
                return(null);
            }
            var root = new RootWrapper <T> (value);

            return(CreateReflector(root.ToString(), root));
        }
Пример #4
0
        public static IReflector CreateRootReflector <T> () where T : new()
        {
            var root = new RootWrapper <T> ();

            return(CreateReflector(root.ToString(), root));
        }