Как C # работает внутри Razor без компиляции? - PullRequest
0 голосов
/ 05 июля 2018

Мне не удалось найти ответ на этот вопрос в Интернете.

Поскольку C # - это скомпилированный язык, как код в представлении Razor может выполняться без необходимости повторной сборки разработчиком?

Например, если я загружаю страницу с таким кодом: @{string test = "123";}.

Но затем измените код на: @{string test = "test";}

Как мне не нужно перестраивать? Кроме того, позволяет ли это случиться функции C # или функции MVC?

1 Ответ

0 голосов
/ 05 июля 2018

Бритвенный двигатель в основном «компилирует» вид. Как то так ...

@model Person
<html>
  <p>
  @Model.FirstName
  </p>
</html>

фактически скомпилировано в метод в классе. Я не могу вспомнить точные функции, которые он вызывает, но это выглядело бы примерно так:

class RazorPage<T>
{
    T Model;

    void Page
    {
        Write("<html>");
        Write("  <p>");
        Write(Model.FirstName);
        Write("  </p>");
        Write("</html>");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...