Компилятор .NET и «Не все пути кода возвращают значение»C#

Место общения программистов C#
Ответить
Anonymous
 Компилятор .NET и «Не все пути кода возвращают значение»

Сообщение Anonymous »

Почему в приведенном ниже коде компилятор .NET не может определить, что все пути кода возвращают значение?

Код: Выделить всё

bool Test(bool param) {
bool test = true;
if (param)
test = false;
else
test = false;
if (!test)
return false;
}
ошибка CS0161: не все пути кода возвращают значение!

Код можно подвергнуть рефакторингу, но компилятор не предлагает этого. Тем не менее, все пути возврата покрыты - так почему же компилятор жалуется, что это не так?

Редактировать: Я думаю, вывод здесь такой:

Код: Выделить всё

(error CS0161) + (all code paths obviously return a value) => refactor code.
Как только вы привыкнете к такому переводу, думаю, все будет в порядке.

Подробнее здесь: https://stackoverflow.com/questions/101 ... rn-a-value
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»