2011-02-11 54 views
3

我使用valueFactory Func初始化我的ThreadLocal。重置ThreadLocal <T>值

我也想重置有时价值回到null。

也许我做错了什么,但如果我设置我的threadLocal.Value = null,它似乎仍认为threadLocal.IsValueCreated == true。

如何才能真正重置threadlocal,以便在需要时它会重新生成值?

+0

你可以显示你到目前为止的代码吗? – 2011-02-11 22:15:50

回答

3

不是我所知道的。

您可以随时将其设置为ThreadLocal<Lazy<T>>,并将其重置为新的Lazy<T>。如果这是你不止一次使用的东西,你可能会考虑将其封装为ResettableThreadLocal<T>或类似的东西。