有时我会在C#类中看到类似的内容:
private CultureInfo _culture = () => Thread.CurrentThread.CurrentCulture;
我尝试了这个,但它没有编译......我的问题是:
我应该如何更改以进行编译?
此代码与以下内容有何区别:
private CultureInfo _culture = Thread.CurrentThread.CurrentCulture;
谢谢你, 米格尔
答案 0 :(得分:3)
如果您使用
private Func<CultureInfo> _culture = () => Thread.CurrentThread.CurrentCulture;
您可以在实际时刻获得实际线程的当前文化信息。
如果你这样做,那么
private CultureInfo _culture = Thread.CurrentThread.CurrentCulture;
你总是从初始化时初始化的线程中获取文化信息。
作为改进,使用属性在使用函数初始化后封装_culture
:
private CultureInfo Culture
{
get { return _culture(); }
}
这为您提供了一个类似于使用的成员变量。
答案 1 :(得分:1)
使用此.. ..
private Func<CultureInfo> _culture = () => Thread.CurrentThread.CurrentCulture;