public CultureAndRegionInfoBuilder(CultureInfo templateCulture, Object templateRegion, String language, String region, String suffix, CulturePrefix prefix) #endif { if (templateCulture == null) { throw new ArgumentNullException("templateCulture"); } if (templateRegion == null) { throw new ArgumentNullException("templateRegion"); } // Copy the original property values out of the templates. availableCalendars = templateCulture.OptionalCalendars; consoleFallbackUICulture = templateCulture; cultureName = templateCulture.Name; dateTimeFormat = templateCulture.DateTimeFormat; isNeutralCulture = templateCulture.IsNeutralCulture; #if CONFIG_REFLECTION lcid = templateCulture.LCID; #else lcid = templateCulture.GetHashCode(); #endif numberFormat = templateCulture.NumberFormat; parent = templateCulture.Parent; textInfo = templateCulture.TextInfo; #if CONFIG_FRAMEWORK_1_2 keyboardLayoutID = templateCulture.KeyboardLayoutID; //lineOrientation = templateCulture.LineOrientation; // TODO #endif #if CONFIG_REFLECTION cultureEnglishName = templateCulture.EnglishName; cultureNativeName = templateCulture.NativeName; threeLetterISOLanguageName = templateCulture.ThreeLetterISOLanguageName; threeLetterWindowsLanguageName = templateCulture.ThreeLetterWindowsLanguageName; twoLetterISOLanguageName = templateCulture.TwoLetterISOLanguageName; #endif #if !ECMA_COMPAT #if CONFIG_FRAMEWORK_2_0 geoId = templateRegion.GeoId; #else geoId = templateRegion.GetHashCode(); #endif #if CONFIG_FRAMEWORK_2_0 currencyEnglishName = templateRegion.CurrencyEnglishName; currencyNativeName = templateRegion.CurrencyNativeName; #endif currencySymbol = templateRegion.CurrencySymbol; isMetric = templateRegion.IsMetric; isoCurrencySymbol = templateRegion.ISOCurrencySymbol; regionEnglishName = templateRegion.EnglishName; regionName = templateRegion.Name; regionNativeName = templateRegion.DisplayName; threeLetterISORegionName = templateRegion.ThreeLetterISORegionName; threeLetterWindowsRegionName = templateRegion.ThreeLetterWindowsRegionName; twoLetterISORegionName = templateRegion.TwoLetterISORegionName; #endif // Override the names if necessary. String prefixValue; if (prefix == CulturePrefix.IANA) { prefixValue = "i-"; } else if (prefix == CulturePrefix.PrivateUse) { prefixValue = "x-"; } else { prefixValue = ""; } if (language == null || language.Length == 0) { language = cultureName; } cultureName = prefixValue + language + suffix; #if CONFIG_REFLECTION cultureEnglishName = cultureName; cultureNativeName = cultureName; #endif #if !ECMA_COMPAT if (region == null || region.Length == 0) { region = regionName; } regionName = prefixValue + region + suffix; regionEnglishName = regionName; regionNativeName = regionName; #endif }
public CultureAndRegionInfoBuilder(CultureInfo templateCulture, Object templateRegion, String language, String region, String suffix, CulturePrefix prefix) #endif { if(templateCulture == null) { throw new ArgumentNullException("templateCulture"); } if(templateRegion == null) { throw new ArgumentNullException("templateRegion"); } // Copy the original property values out of the templates. availableCalendars = templateCulture.OptionalCalendars; consoleFallbackUICulture = templateCulture; cultureName = templateCulture.Name; dateTimeFormat = templateCulture.DateTimeFormat; isNeutralCulture = templateCulture.IsNeutralCulture; #if CONFIG_REFLECTION lcid = templateCulture.LCID; #else lcid = templateCulture.GetHashCode(); #endif numberFormat = templateCulture.NumberFormat; parent = templateCulture.Parent; textInfo = templateCulture.TextInfo; #if CONFIG_FRAMEWORK_1_2 keyboardLayoutID = templateCulture.KeyboardLayoutID; //lineOrientation = templateCulture.LineOrientation; // TODO #endif #if CONFIG_REFLECTION cultureEnglishName = templateCulture.EnglishName; cultureNativeName = templateCulture.NativeName; threeLetterISOLanguageName = templateCulture.ThreeLetterISOLanguageName; threeLetterWindowsLanguageName = templateCulture.ThreeLetterWindowsLanguageName; twoLetterISOLanguageName = templateCulture.TwoLetterISOLanguageName; #endif #if !ECMA_COMPAT #if CONFIG_FRAMEWORK_2_0 geoId = templateRegion.GeoId; #else geoId = templateRegion.GetHashCode(); #endif #if CONFIG_FRAMEWORK_2_0 currencyEnglishName = templateRegion.CurrencyEnglishName; currencyNativeName = templateRegion.CurrencyNativeName; #endif currencySymbol = templateRegion.CurrencySymbol; isMetric = templateRegion.IsMetric; isoCurrencySymbol = templateRegion.ISOCurrencySymbol; regionEnglishName = templateRegion.EnglishName; regionName = templateRegion.Name; regionNativeName = templateRegion.DisplayName; threeLetterISORegionName = templateRegion.ThreeLetterISORegionName; threeLetterWindowsRegionName = templateRegion.ThreeLetterWindowsRegionName; twoLetterISORegionName = templateRegion.TwoLetterISORegionName; #endif // Override the names if necessary. String prefixValue; if(prefix == CulturePrefix.IANA) { prefixValue = "i-"; } else if(prefix == CulturePrefix.PrivateUse) { prefixValue = "x-"; } else { prefixValue = ""; } if(language == null || language.Length == 0) { language = cultureName; } cultureName = prefixValue + language + suffix; #if CONFIG_REFLECTION cultureEnglishName = cultureName; cultureNativeName = cultureName; #endif #if !ECMA_COMPAT if(region == null || region.Length == 0) { region = regionName; } regionName = prefixValue + region + suffix; regionEnglishName = regionName; regionNativeName = regionName; #endif }
public CultureAndRegionInfoBuilder(CultureInfo templateCulture, RegionInfo templateRegion, String language, String region, String suffix, CulturePrefix prefix)
public CultureAndRegionInfoBuilder(CultureInfo templateCulture, RegionInfo templateRegion, String language, String region, String suffix, CulturePrefix prefix)