コード例 #1
0
        public static MemberMemberBinding FoldMemberMemberBinding(MemberMemberBinding inputExpression)
        {
            IEnumerable <MemberBinding> bindings = ConstantFolding.FoldBindingList(inputExpression.Bindings);

            if (bindings != inputExpression.Bindings)
            {
                return(Expression.MemberBind(inputExpression.Member, bindings));
            }

            return(inputExpression);
        }
コード例 #2
0
        public static Expression FoldMemberInit(MemberInitExpression inputExpression)
        {
            NewExpression foldedExp = ConstantFolding.FoldNew(inputExpression.NewExpression);
            IEnumerable <MemberBinding> bindings = ConstantFolding.FoldBindingList(inputExpression.Bindings);

            if (foldedExp != inputExpression.NewExpression || bindings != inputExpression.Bindings)
            {
                return(Expression.MemberInit(foldedExp, bindings));
            }

            return(inputExpression);
        }