Joe*_*ein 2 c# using object-lifetime
对于某些单元测试,我想将CurrentCulture设置为特定的文化(然后在以后反转这些更改).因为我需要在几个地方做这件事,我正在考虑编写一个CultureChanger类来保存旧文化并在其构造函数中设置新文化,然后在处理过程中重置旧文化.
然后我可以像这样使用它:
using(new CultureChanger(culture)){
//some code and assertions with no references to the CultureChanger
}
Run Code Online (Sandbox Code Playgroud)
如果我这样做,是否有可能在使用块完成之前的某个时间清理CultureChanger?
CultureChanger在using"完成"块之后才会清理.
该using块以与方法相同的方式定义对象的范围.
有上没有保证时,对象将是块执行后收集垃圾,但它不会发生之前.