gpt4 book ai didi

vb.net - Lazy(Of T) 使用/初始化

转载 作者:行者123 更新时间:2023-12-04 19:11:36 26 4
gpt4 key购买 nike

我试图弄清楚这两种懒惰的用法有什么区别,哪种更适合使用,还是一样?

Dim context As New Lazy(Of DbContext)

Dim context As Lazy(Of DbContext) = New Lazy(Of DbContext)(Function() New DbContext())

最佳答案

如果 lambda 只使用默认构造函数构造实例,则效果与 Lazy<T> 的构造函数相同。没有委托(delegate)只使用类型的默认构造函数。在这种情况下,我会使用您的第一个选项。

然而,第二个选项的原因是您有时需要更多信息来构建您的对象。例如,这将是合法的并且可以正常运行:

Dim instance = New Lazy(Of SomeType)(Function() New SomeType("Foo"))

请注意,这里我们为 SomeType 使用了非默认构造函数。 .

关于vb.net - Lazy(Of T) 使用/初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14595046/

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