【发布时间】:2011-02-04 21:09:40
【问题描述】:
有谁知道为什么 Microsoft 没有在 .NET Framework 4.0 的 Lazy
我们有一个自 .NET 3.5 以来一直在使用的自制类型,它与 Lazy 类执行相同的操作,但允许您让实例重新评估 Lazy Func。我们想用新的 .NET 类替换我们的类,但这种 Clear() 或 IsDirty 机制不存在。
让我根据 cmets 重新表述最初的问题。有没有办法在不重新实例化类的情况下重新初始化 Lazy Func 方法?如果没有,有没有办法将它作为扩展方法来实现,或者只是一个糟糕的模式可以遵循?
【问题讨论】:
-
“为什么不”的问题只是咆哮。你能用更有建设性的方式改写一下吗?
-
我猜是因为它被视为一个值而另一个值不是同一个值。
-
您似乎想懒惰地重新创建实例?如果是这样,那么这不是这个(或任何惰性初始化类)类的意图。实例被创建一次,但只是在它被使用之前(并且只有在它被使用时)。