簡単実装の方も同じことをやるようにしてみた
(こんどこそできたー - 気楽に諸々 の続き)
macro Connect: assert len(Connect.Arguments) == 1 assert Connect.Arguments[0] isa BinaryExpression connectableAssignExpression as BinaryExpression = Connect.Arguments[0] assert connectableAssignExpression.Operator == BinaryOperatorType.Assign connectableReferenceExpression as ReferenceExpression = connectableAssignExpression.Left return [| $(connectableAssignExpression) try: $(connectableReferenceExpression).Open() $(Connect.Block) ensure: $(connectableReferenceExpression).Close() |]