If there's a failure, the
tor.Check() throws. So should actually never get to the // fail branch (unless you selected no files for transfer, but than it's not a failure). On the other hand the tor.Transfers.Count > 0 is not an indication of success, but possibly of a partial success only. But again, mere fact that tor.Check() did not throw is an indication of success.