System.Linq.Expressions.MemberInitExpression.ReduceMemberBinding C# (CSharp) Méthode

ReduceMemberBinding() static private méthode

static private ReduceMemberBinding ( System.Linq.Expressions.ParameterExpression objVar, MemberBinding binding ) : Expression
objVar System.Linq.Expressions.ParameterExpression
binding MemberBinding
Résultat Expression
        internal static Expression ReduceMemberBinding(ParameterExpression objVar, MemberBinding binding)
        {
            MemberExpression member = Expression.MakeMemberAccess(objVar, binding.Member);
            switch (binding.BindingType)
            {
                case MemberBindingType.Assignment:
                    return Expression.Assign(member, ((MemberAssignment)binding).Expression);
                case MemberBindingType.ListBinding:
                    return ReduceListInit(member, ((MemberListBinding)binding).Initializers, keepOnStack: false);
                case MemberBindingType.MemberBinding:
                    return ReduceMemberInit(member, ((MemberMemberBinding)binding).Bindings, keepOnStack: false);
                default: throw ContractUtils.Unreachable;
            }
        }