2015-10-16 2 views
-1

Если у меня есть метод пустот я могу сделать что-то вроде этого, чтобы вырваться из него в началеВозвращаясь из пустого метода из вложенного метода

public void CheckIntNotLessThanZero(int value) 
{ 
    if (int < 0) 
    { 
     return; 
    } 

    Console.WriteLine("Not less than zero!") 
} 

Однако я бегу, что точно такой же проверить несколько раз, и поэтому я хочу положить его в свой собственный метод, поэтому я не повторять код:

public void CheckIntNotLessThanZero(int value) 
{ 
    return CheckIntValue(value); 

    Console.WriteLine("Not less than zero!") 
} 

public void CheckIntValue(int value) 
{ 
    if (value < 0) 
    { 
     return; 
    } 
} 

это простой пример, но есть способ сделать это?

+0

с какими проблемами вы сталкиваетесь? –

+1

@TechieBee: похоже, что OP хочет прервать выполнение метода ('CheckIntNotLessThanZero' в образце) в случае, когда одно из условий не выполнено. – Dennis

+0

@ Dennis - О .. Спасибо, я понял! –

ответ

5

Check... Превратите методы для возврата bool значения, и проверить его после каждого вызова:

public bool CheckIntValue(int value) 
{ 
    return value < 0; 
} 

public void CheckIntNotLessThanZero(int value) 
{ 
    if (CheckIntValue(value)) 
     return; 

    Console.WriteLine("Not less than zero!") 
} 

Обратите внимание, что вы мог исключения бросить в Check... методах, но вы не должны . Управлять потоком выполнения с использованием исключений является плохой практикой.

+0

Могу ли я просто «вернуть CheckIntValue (значение)» как в вашем примере? – FLSH

+0

Вы не можете. 'CheckIntNotLessThanZero' возвращает' void', 'CheckIntValue' -' bool'. Это даже не будет компилироваться. – Dennis

Смежные вопросы