在 SetParameters 方法中而不是直接初始化 属性 是否有充分的理由?
Is there a good reason to initialize a property in the SetParameters method rather than directly?
在下面的代码片段中,取自 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);
}
}
来自 blazor documentation:
SetParameters
可以被覆盖以在设置参数之前执行代码。
如果未调用 base.SetParameters,自定义代码可以以任何需要的方式解释传入的参数值。例如,不需要将传入参数分配给 class.
上的属性
所以SetParameters
允许你偷偷摸摸地修改东西..
我猜您正在将值设置为默认值。为此,我会说第一种方法非常好,第二种方法过度杀伤力和混乱。
在下面的代码片段中,取自 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);
}
}
来自 blazor documentation:
SetParameters
可以被覆盖以在设置参数之前执行代码。
如果未调用 base.SetParameters,自定义代码可以以任何需要的方式解释传入的参数值。例如,不需要将传入参数分配给 class.
上的属性所以SetParameters
允许你偷偷摸摸地修改东西..
我猜您正在将值设置为默认值。为此,我会说第一种方法非常好,第二种方法过度杀伤力和混乱。