/// <summary> /// Visits a <see cref="SerializableMemberInitExpression"/>. /// </summary> /// <param name="expression"><see cref="SerializableMemberInitExpression"/> to visit.</param> /// <returns>Returns the converted <see cref="Expression"/>.</returns> protected override Expression VisitSerializableMemberInitExpression(SerializableMemberInitExpression expression) { IEnumerable <MemberBinding> bindings = VisitObjectCollection <MemberBinding>(expression.Bindings); // ReSharper disable AssignNullToNotNullAttribute return(Expression.MemberInit(Visit(expression.NewExpression) as NewExpression, bindings)); // ReSharper restore AssignNullToNotNullAttribute }
/// <summary> /// Visits a <see cref="SerializableMemberInitExpression"/>. /// </summary> /// <param name="expression"><see cref="SerializableMemberInitExpression"/> to visit.</param> /// <returns>Returns the converted <see cref="Expression"/>.</returns> protected abstract Expression VisitSerializableMemberInitExpression(SerializableMemberInitExpression expression);
/// <summary> /// Visits a <see cref="SerializableMemberInitExpression"/>. /// </summary> /// <param name="expression"><see cref="SerializableMemberInitExpression"/> to visit.</param> /// <returns>Returns the converted <see cref="Expression"/>.</returns> protected override Expression VisitSerializableMemberInitExpression(SerializableMemberInitExpression expression) { IEnumerable <MemberBinding> bindings = VisitObjectCollection <MemberBinding>(expression.Bindings); return(Expression.MemberInit(Visit(expression.NewExpression) as NewExpression, bindings)); }
private Expression VisitMemberInit(SerializableMemberInitExpression mi) { return(Expression.MemberInit((NewExpression)Visit(mi.NewExpression), VisitMemberBindingSequence(mi.Bindings))); }