Я только начал использовать Razor вместо WebForms-ViewEngine. Теперь в моем Razor-View у меня есть что-то вроде этого:
@{
int i = 42;
string text;
if (i == 42)
{
text = "i is 42!";
}
else //i is not 42 //<- Error here
{
text = "i is something else";
}
}
Я получаю предупреждение, и во время выполнения оно получает исключение в строке else:
Ожидается "{", но найден "/". Блочные операторы должны быть заключены в "{" и "}". Нельзя использовать операторы потока управления с одним оператором на страницах CSHTML.
Видимо, компилятору не нравятся комментарии между else и {. Я также пытался комментировать с помощью @ * и / *, которые давали похожие сообщения об ошибках.
Можно ли как-нибудь комментировать бритву, как я этого хочу?
Отказ от ответственности:
Да, я знаю, что могу исправить это просто так:
@{
int i = 42;
string text;
if (i == 42)
{
text = "i is 42!";
}
else
{ //i is not 42
text = "i is something else";
}
}
Однако это не соответствует нашим правилам кодирования, и наличие комментария в той же строке делает мои намерения более ясными.