gpt4 book ai didi

c# - 为什么在构造函数中实例化新对象之前检查类变量是否为空?

转载 作者:可可西里 更新时间:2023-11-01 07:49:54 32 4
gpt4 key购买 nike

与我之前合作过的一个团队,每当创建一个新的服务类来处理数据层和表示层之间的业务逻辑时,都会执行如下操作:

class DocumentService
{
public DocumentRepository DocumentRepository { get; set; }

public DocumentService()
{
if (DocumentRepository == null) DocumentRepository = new DocumentRepository();
}
}

我一直不太明白为什么要对 null 进行检查。如果正在调用构造函数,则意味着它必须为 null..因为它是一个新实例,对吗?

为什么要这样做?在我看来,这是一个多余的步骤,但我不想错过任何东西,也不想把它当成不好的做法。

最佳答案

在这个确切的上下文中:是的,它是多余的。

此代码没有直接原因,它可能是旧方法遗留下来的,或者是预期具有多个构造函数的实现。但我不建议使用这种“模式”,甚至不建议保留这段代码。

关于c# - 为什么在构造函数中实例化新对象之前检查类变量是否为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16692916/

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