protected override Expression VisitTypeBinary(TypeBinaryExpression node) { if (!(node.Expression is ParameterExpression)) { return(base.VisitTypeBinary(node)); } if (!object.ReferenceEquals(CurrentParameter, node.GetParameterExpression())) { return(base.VisitTypeBinary(node)); } return(Expression.TypeIs ( string.IsNullOrEmpty(ParentFullName) ? NewParameter : ExpressionHelpers.MemberAccesses(ParentFullName, NewParameter), node.TypeOperand )); }