gpt4 book ai didi

blazor - 是否有充分的理由在 SetParameters 方法中而不是直接初始化属性?

转载 作者:行者123 更新时间:2023-12-04 15:52:43 28 4
gpt4 key购买 nike

在下面的代码片段中,取自 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,自定义代码可以以任何需要的方式解释传入的参数值。例如,不需要将传入参数分配给类上的属性。

所以 SetParameters 允许您偷偷摸摸地修改东西..

我猜您正在将值设置为默认值。为此,我会说第一种方法非常好,而第二种方法过度杀伤力和困惑。

关于blazor - 是否有充分的理由在 SetParameters 方法中而不是直接初始化属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53199294/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com