С фигурными скобками у вас есть точка с запятой, вызванная для вас, а в скобках нет. Рассмотрим функцию takeWhile
, так как она ожидает частичную функцию, только {case xxx => ??? }
является корректным определением вместо круглых скобок вокруг выражения case.
Решил, благодаря моему коллеге ...
Причина была в том, что в моем случае поле row.SitePrefixLength
изначально было установлено на 64
, что является недопустимым значением, в соответствии с MIB_IPINTERFACE_ROW doc page :
[ 1114] Для адреса IPv4 любое значение, большее 32, является недопустимым.blockquote>
Как только я вставил следующую строку перед вызовом SetIpInterfaceEntry , все пошло хорошо:
row.SitePrefixLength = 0;
Несмотря на то, что это решило проблему, осталось еще мало открытых вопросов :
- Как получилось, что текущее текущее значение недопустимо?
- Какое значение указать, если вы встретите там недопустимое значение? Похоже, что установка его на
0
является ответом, но я не уверен в этом.Но, во-первых, я, вероятно, должен выяснить, какова цель
SitePrefixLength
field / param. :)ОБНОВЛЕНИЕ : Я только что нашел ответ на свой второй оставшийся вопрос - он был на одной и той же странице документа все время (позор мне не все читает). Таким образом, ответ таков:
Для IPv4 элемент
BLOCKQUOTE>SitePrefixLength
должен быть равен 0.