Функция Vb возврат пустого указателя

В частности, используя ваш пример:

public void runGenericForXSeconds(BooleanSupplier supplier, int seconds) throws SOMEEXCEPTION {
    int timeout = currentTime + seconds; // milliseconds
    while (currentTime < timeout) {
        if (supplier.getAsBoolean())
            return; // if true exits the method, for the rest of the program, we are all good
    }
    throw new SOMEEXCEPTION("something failed"); // the function failed
}

Тогда вашему поставщику просто нужно вернуть true или false. Например :

runGenericForXSeconds(() -> !checkCurrentState("ACTIVE"), 100);

Обратите внимание, что у вас занятый цикл. Если вы явно не хотите этого, вы можете сделать паузу между вызовами, используя Thread.sleep() или подобное.

9
задан mat690 3 April 2009 в 08:59
поделиться

3 ответа

Вам будет нужен тип возврата Nullable (Целого числа).

8
ответ дан 4 December 2019 в 07:48
поделиться

Если Вы строго говорите о нулевой ссылке (версия C# пустого указателя) затем, ответ является номером и dommer и Mitch, имеют верное представление здесь. Необходимо было бы возвратить Nullable (Целого числа) для передачи отсутствия значения.

Однако VB не имеет нулевого значения. Вместо этого это Ничего не использует. Ничто не представляет пустое значение и для значения и для ссылочных типов. Это конвертируемо к любому типу значения и просто представляет эквивалент значения по умолчанию (T) в C#. Многие люди говорят, что пустой указатель при разговоре о VB, но действительно Ничего не означает. Если это верно, затем да, Вы Ничего не можете возвратить из Целочисленной функции возврата

Public Function Example() As Integer
  Return Nothing
End Function
19
ответ дан 4 December 2019 в 07:48
поделиться

Только если это определяется как возврат nullable целого числа.

1
ответ дан 4 December 2019 в 07:48
поделиться
Другие вопросы по тегам:

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