Есть ли веская причина для инициализации свойства в методе SetParameters, а не напрямую? - PullRequest
0 голосов
/ 08 ноября 2018

В приведенном ниже фрагменте кода, взятом из примера Blazor, свойство StartDate инициализируется в производном методе SetParameters, хотя его можно инициализировать следующим образом:

[Parameter] DateTime StartDate { get; set; } = DateTime.Now;  

Интересно, это вопрос только стиля или есть веская причина для этого ...

  @functions {
    [Parameter] DateTime StartDate { get; set; }

    WeatherForecast[] forecasts;

    public override void SetParameters(ParameterCollection parameters)
    {
        StartDate = DateTime.Now;
        base.SetParameters(parameters);
    }

}

1 Ответ

0 голосов
/ 08 ноября 2018

Из документации :

SetParameters можно переопределить для выполнения кода перед настройкой параметров.

Еслиbase.SetParameters не вызывается, пользовательский код может интерпретировать значение входящих параметров любым требуемым способом.Например, входящие параметры не обязательно должны присваиваться свойствам класса.

Так что SetParameters позволяет вам незаметно изменять вещи ..

Япредполагая, что вы устанавливаете значение по умолчанию.Для этого я бы сказал, что первый метод отлично подходит, а второй метод лишний и запутанный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...