/// <summary>Creates a <see cref="T:System.Globalization.CultureInfo" /> object that represents the specific culture that is associated with the specified name.</summary> /// <returns>A <see cref="T:System.Globalization.CultureInfo" /> object that represents:The invariant culture, if <paramref name="name" /> is an empty string ("").-or- The specific culture associated with <paramref name="name" />, if <paramref name="name" /> is a neutral culture.-or- The culture specified by <paramref name="name" />, if <paramref name="name" /> is already a specific culture.</returns> /// <param name="name">A predefined <see cref="T:System.Globalization.CultureInfo" /> name or the name of an existing <see cref="T:System.Globalization.CultureInfo" /> object. </param> /// <exception cref="T:System.ArgumentException"> /// <paramref name="name" /> is not a valid culture name.-or- The culture specified by <paramref name="name" /> does not have a specific culture associated with it. </exception> /// <exception cref="T:System.NullReferenceException"> /// <paramref name="name" /> is null. </exception> public static CultureInfo CreateSpecificCulture(string name) { if (name == null) { throw new ArgumentNullException("name"); } if (name == string.Empty) { return(CultureInfo.InvariantCulture); } CultureInfo cultureInfo = new CultureInfo(); if (!CultureInfo.ConstructInternalLocaleFromSpecificName(cultureInfo, name.ToLowerInvariant())) { throw new ArgumentException("Culture name " + name + " is not supported.", name); } return(cultureInfo); }