private CultureInfo (int culture, bool useUserOverride, bool read_only)
{
if (culture < 0)
throw new ArgumentOutOfRangeException ("culture", "Positive "
+ "number required.");
constructed = true;
m_isReadOnly = read_only;
m_useUserOverride = useUserOverride;
if (culture == InvariantCultureId) {
/* Short circuit the invariant culture */
ConstructInvariant (read_only);
return;
}
if (!construct_internal_locale_from_lcid (culture)) {
//
// Be careful not to cause recursive CultureInfo initialization
//
var msg = string.Format (InvariantCulture, "Culture ID {0} (0x{1}) is not a supported culture.", culture.ToString (InvariantCulture), culture.ToString ("X4", InvariantCulture));
#if NET_4_0
throw new CultureNotFoundException ("culture", msg);
#else
throw new ArgumentException (msg, "culture");
#endif
}
}