Xamarin Public Jenkins (auto-signing) ef583813eb Imported Upstream version 6.4.0.137
Former-commit-id: 943baa9f16a098c33e129777827f3a9d20da00d6
2019-07-26 19:53:28 +00:00

34 lines
994 B
C#

// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System.Runtime.CompilerServices;
namespace System.Globalization
{
partial class GlobalizationMode
{
static bool GetGlobalizationInvariantMode ()
{
bool invariantEnabled = GetInvariantSwitchValue ();
if (invariantEnabled)
return true;
LoadICU ();
return false;
}
// Keep this in a separate method to avoid loading the native lib in invariant mode
[MethodImplAttribute (MethodImplOptions.NoInlining)]
static void LoadICU ()
{
int res = Interop.Globalization.LoadICU ();
if (res == 0) {
string message = "Couldn't find a valid ICU package installed on the system. " +
"Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.";
Environment.FailFast (message);
}
}
}
}