mvc3 не весь путь кода возвращает значение

106
10

Спасибо, что прочитал это.

Когда компиляция получила эту ошибку:

'ASP.Helpers.Message.DisplayMessage (строка, строка)': не весь путь к коду возвращает значение

У меня есть вспомогательный класс в App_Code\Helpers\Message.cshtml, и это контент до сих пор:

@functions{
public static string DislayMessage(string x, string y)
{
IF ((x == "yes") && (y == "yes"))
{
return ("something");
}
}
}

на другой странице это называется так:

@{Helpers.Message.DisplayMessage("yes", "yes")}

Есть идеи?

спросил(а) 2012-05-30T06:44:00+04:00 8 лет, 3 месяца назад
1
Решение
70

Вам все равно нужно что-то вернуть, если условие ложно. Возможно, вы захотите вернуть нуль или что-то в конце функции, чтобы возвращать что-то во всех случаях.

public static string DislayMessage(string x, string y)
{
IF ((x == "yes") && (y == "yes"))
{
return ("something");
}

// fallback case
return string.Empty;
}

ответил(а) 2012-05-30T06:47:00+04:00 8 лет, 3 месяца назад
57

потому что ваш метод возвращает что-то, только если ваши условия IF истинны, и вы упомянули, что ваша функция вернет строку (ваш тип возврата). Вам лучше добавить что-то, чтобы вернуться всегда.


public static string DislayMessage(string x, string y)
{
If ((x == "yes") && (y == "yes"))
{
return "something";
}
return "";
}

ответил(а) 2012-05-30T06:48:00+04:00 8 лет, 3 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема