2011-02-11 36 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>或類似的東西。