提交 59d2a61b 编写于 作者: S Sam Harwell

Fix behavior for NET46 and NETCOREAPP2_0

上级 ed1ef859
......@@ -51,9 +51,12 @@ public UseCultureAttribute(string culture)
/// <param name="uiCulture">The name of the UI culture.</param>
public UseCultureAttribute(string culture, string uiCulture)
{
#if NET461 || NETCOREAPP20
#if NET46 || NET461
_culture = new Lazy<CultureInfo>(() => new CultureInfo(culture, useUserOverride: false));
_uiCulture = new Lazy<CultureInfo>(() => new CultureInfo(uiCulture, useUserOverride: false));
#elif NETCOREAPP2_0
_culture = new Lazy<CultureInfo>(() => new CultureInfo(culture));
_uiCulture = new Lazy<CultureInfo>(() => new CultureInfo(uiCulture));
#else
_culture = new Lazy<CultureInfo>(() => throw new NotSupportedException());
_uiCulture = new Lazy<CultureInfo>(() => throw new NotSupportedException());
......@@ -80,12 +83,14 @@ public override void Before(MethodInfo methodUnderTest)
_originalCulture = CultureInfo.CurrentCulture;
_originalUICulture = CultureInfo.CurrentUICulture;
#if NET461 || NETCOREAPP20
Thread.CurrentThread.CurrentCulture = Culture;
Thread.CurrentThread.CurrentUICulture = UICulture;
#if NET46 || NET461 || NETCOREAPP2_0
CultureInfo.CurrentCulture = Culture;
CultureInfo.CurrentUICulture = UICulture;
#if NET46 || NET461
CultureInfo.CurrentCulture.ClearCachedData();
CultureInfo.CurrentUICulture.ClearCachedData();
#endif
#else
throw new NotSupportedException("Cannot set the current culture on this framework target.");
#endif
......@@ -98,12 +103,14 @@ public override void Before(MethodInfo methodUnderTest)
/// <param name="methodUnderTest">The method under test</param>
public override void After(MethodInfo methodUnderTest)
{
#if NET461 || NETCOREAPP20
Thread.CurrentThread.CurrentCulture = _originalCulture;
Thread.CurrentThread.CurrentUICulture = _originalUICulture;
#if NET46 || NET461 || NETCOREAPP2_0
CultureInfo.CurrentCulture = _originalCulture;
CultureInfo.CurrentUICulture = _originalUICulture;
#if NET46 || NET461
CultureInfo.CurrentCulture.ClearCachedData();
CultureInfo.CurrentUICulture.ClearCachedData();
#endif
#else
throw new NotSupportedException("Cannot set the current culture on this framework target.");
#endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册