继承ThreadStatic值以在多线程上下文中的C#/ .NET中实现动态范围

Max*_*ini 6 c# logging scope threadstatic

有没有办法让新生成的线程在其父线程上继承ThreadStatic状态(或类似的东西)的值?我想使用这个(或类似的东西)来实现"动态范围"的特殊变量,其中包含用于跟踪/记录等的操作/任务上下文信息.这是一种合理的方法,是否可以使其工作?

Ree*_*sey 6

你不能"继承"价值观.但是,.NET 4 的新ThreadLocal<T>允许您Func<T>构造函数中提供一个,它可以根据父级的状态初始化线程.这将提供合理的解决方法.