Ошибка в функции при конвертации из c # в vb

Если у вас есть очистка, которую вы должны сделать при выходе, вы также можете использовать «ловушку» с ERR псевдосигнала. Это работает так же, как захват INT или любого другого сигнала; bash выбрасывает ERR, если какая-либо команда выходит с ненулевым значением:

# Create the trap with   
#    trap COMMAND SIGNAME [SIGNAME2 SIGNAME3...]
trap "rm -f /tmp/$MYTMPFILE; exit 1" ERR INT TERM
command1
command2
command3
# Partially turn off the trap.
trap - ERR
# Now a control-C will still cause cleanup, but
# a nonzero exit code won't:
ps aux | grep blahblahblah

Или, особенно если вы используете «set -e», вы можете заблокировать EXIT; тогда ваша ловушка будет выполнена, когда сценарий выйдет по какой-либо причине, включая нормальный конец, прерывания, выход, вызванный параметром -e и т. д.

0
задан satbr 11 March 2019 в 14:25
поделиться

1 ответ

Измените инициализацию «пути» на:

Dim paths = doc.Descendants("dir").Where(Function(dir) String.Equals(folderToFind, CStr(dir.Attribute("name")), StringComparison.OrdinalIgnoreCase)).Select(Function(dir) dir.AncestorsAndSelf().Select(Function(el) CStr(el.Attribute("name"))).Reverse().Aggregate(String.Empty, AddressOf Path.Combine))

Из того, что я могу сказать, это просто «AddressOf», который вам не хватает. (Ваш код с вышеуказанным изменением компилируется для меня).

(Использование AddressOf передает функцию без фактического вызова функции).

0
ответ дан Dave Doknjas 11 March 2019 в 14:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: