CultureAndRegionInfoBuilder Classe

Definizione

Definisce impostazioni cultura personalizzate nuove o basate su altre impostazioni cultura e paese/area geografica.Defines a custom culture that is new or based on another culture and country/region. È possibile installare le impostazioni cultura personalizzate in un computer e usarle in qualsiasi applicazione in esecuzione.The custom culture can be installed on a computer and subsequently used by any application that is running on that computer. Questa classe non può essere ereditata.This class cannot be inherited.

public ref class CultureAndRegionInfoBuilder sealed
[System.Runtime.InteropServices.ComVisible(false)]
public sealed class CultureAndRegionInfoBuilder
type CultureAndRegionInfoBuilder = class
Public NotInheritable Class CultureAndRegionInfoBuilder
Ereditarietà
CultureAndRegionInfoBuilder
Attributi

Esempi

Nell'esempio seguente vengono definite impostazioni cultura personalizzate UR-US che rappresentano la lingua russa nell'Stati Uniti.The following example defines a custom ru-US culture that represents the Russian language in the United States. Nell'esempio vengono definite le impostazioni cultura personalizzate caricando le impostazioni dall'oggetto russo CultureInfo (Russia) e RegionInfo dall'oggetto U.S., CultureAndRegionInfoBuilder quindi vengono impostate diverse proprietà.The example defines the custom culture by loading settings from the Russian (Russia) CultureInfo object and the U.S. RegionInfo object, and then sets a number of CultureAndRegionInfoBuilder properties. Nell'esempio vengono registrate le impostazioni cultura personalizzate, quindi ne viene creata un'istanza e le impostazioni cultura del thread corrente.The example registers the custom culture, and then instantiates it and makes it the current thread culture.

using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      // Create a custom culture for ru-US.
      CultureAndRegionInfoBuilder car1 = new CultureAndRegionInfoBuilder("ru-US", 
                                             CultureAndRegionModifiers.None);
      car1.LoadDataFromCultureInfo(CultureInfo.CreateSpecificCulture("ru-RU"));
      car1.LoadDataFromRegionInfo(new RegionInfo("en-US"));
      
      car1.CultureEnglishName = "Russian (United States)";
      car1.CultureNativeName = "русский (США)";
      car1.CurrencyNativeName = "Доллар (США)";
      car1.RegionNativeName = "США";

      // Register the culture.
      try {
         car1.Register();
      }    
      catch (InvalidOperationException) {
         // Swallow the exception: the culture already is registered.
      }
      
      // Use the custom culture.
      CultureInfo ci = CultureInfo.CreateSpecificCulture("ru-US");
      Thread.CurrentThread.CurrentCulture = ci;
      Console.WriteLine("Current Culture: {0}", 
                        Thread.CurrentThread.CurrentCulture.Name);
      Console.WriteLine("Writing System: {0}", 
                        Thread.CurrentThread.CurrentCulture.TextInfo);
   }
}
// The example displays the following output:
//     Current Culture: ru-US
//     Writing System: TextInfo - ru-US
Imports System.Globalization
Imports System.Threading

Module Example
   Public Sub Main()
      ' Create a custom culture for ru-US.
      Dim car1 As New CultureAndRegionInfoBuilder("ru-US", CultureAndRegionModifiers.None)
      car1.LoadDataFromCultureInfo(CultureInfo.CreateSpecificCulture("ru-RU"))
      car1.LoadDataFromRegionInfo(New RegionInfo("en-US"))
      
      car1.CultureEnglishName = "Russian (United States)"
      car1.CultureNativeName = "русский (США)"
      car1.CurrencyNativeName = "Доллар (США)"
      car1.RegionNativeName = "США"

      ' Register the culture.
      Try
         car1.Register()
      Catch e As InvalidOperationException
         ' Swallow the exception: the culture already is registered.
      End Try
      
      ' Use the custom culture.
      Dim ci As CultureInfo = CultureInfo.CreateSpecificCulture("ru-US")
      Thread.CurrentThread.CurrentCulture = ci
      Console.WriteLine("Current Culture: {0}", 
                        Thread.CurrentThread.CurrentCulture.Name)
      Console.WriteLine("Writing System: {0}", 
                        Thread.CurrentThread.CurrentCulture.TextInfo)
   End Sub
End Module
' The example displays the following output:
'     Current Culture: ru-US
'     Writing System: TextInfo - ru-US

Commenti

La CultureInfo classe include informazioni specifiche delle impostazioni cultura, ad esempio la lingua associata, la lingua, il paese, l'area geografica, il calendario e le convenzioni culturali.The CultureInfo class holds culture-specific information, such as the associated language, sublanguage, country/region, calendar, and cultural conventions. Questa classe fornisce anche istanze specifiche delle impostazioni cultura delle DateTimeFormatInfoclassi NumberFormatInfo, CompareInfo, e TextInfo , che sono necessarie per operazioni specifiche delle impostazioni cultura, ad esempio la combinazione di maiuscole e minuscole, la formattazione e l'analisi di date e numeri e confronto di stringhe.This class also provides culture-specific instances of the DateTimeFormatInfo, NumberFormatInfo, CompareInfo, and TextInfo classes, which are required for culture-specific operations such as casing, formatting and parsing dates and numbers, and comparing strings.

Per impostazione predefinita, il .NET Framework CultureInfo supporta oggetti che rappresentano un set predefinito di impostazioni cultura.By default, the .NET Framework supports CultureInfo objects that represent a predefined set of cultures. Per un elenco di queste impostazioni cultura disponibili nei sistemi Windows, vedere la colonna tag lingua nell' elenco dei nomi di lingua/area supportati da Windows.For a list of these cultures available on Windows systems, see the Language tag column in the list of language/region names supported by Windows. I nomi delle impostazioni cultura seguono lo standard definito da BCP 47.Culture names follow the standard defined by BCP 47. La CultureAndRegionInfoBuilder classe consente di creare impostazioni cultura personalizzate completamente nuove o che eseguono l'override di impostazioni cultura predefinite.The CultureAndRegionInfoBuilder class enables you to create a custom culture that is completely new or that overrides a predefined culture. Quando le impostazioni cultura personalizzate vengono installate e registrate in un particolare computer, diventano indistinguibili dagli oggetti predefiniti CultureInfo e possono essere create e utilizzate esattamente come tali oggetti.When a custom culture is installed and registered on a particular computer, it becomes indistinguishable from predefined CultureInfo objects, and can be instantiated and used just like those objects.

Importante

Si noti che CultureAndRegionInfoBuilder la classe si trova in un assembly denominato sysglobl. dll.Note that the CultureAndRegionInfoBuilder class is found in an assembly named sysglobl.dll. Per compilare correttamente il codice che utilizza questo tipo, è necessario aggiungere un riferimento a sysglobl. dll.Successfully compiling code that uses this type requires that you add a reference to sysglobl.dll.

È possibile registrare impostazioni cultura personalizzate in un computer solo da un utente che dispone di diritti amministrativi su tale computer.A custom culture can be registered on a computer only by a user who has administrative rights on that computer. Di conseguenza, le app in genere non creano e installano impostazioni cultura personalizzate.Consequently, apps typically do not create and install custom cultures. È invece possibile utilizzare la CultureAndRegionInfoBuilder classe per creare uno strumento per scopi specifici che può essere utilizzato da un amministratore per creare, installare e registrare impostazioni cultura personalizzate.Instead, you can use the CultureAndRegionInfoBuilder class to create a special-purpose tool that an administrator can use to create, install, and register a custom culture. Una volta registrate le impostazioni cultura personalizzate in un computer, è possibile usare CultureInfo la classe nell'app per creare istanze delle impostazioni cultura personalizzate come per le impostazioni cultura predefinite.After the custom culture is registered on a computer, you can use the CultureInfo class in your app to create instances of the custom culture just as you would for a predefined culture.

Se si analizzano le stringhe di data e ora generate per le impostazioni cultura personalizzate DateTime.ParseExact , DateTime.TryParseExact è necessario utilizzare il metodo DateTime.TryParse o anziché il DateTime.Parse metodo o per migliorare la probabilità che l'operazione di analisi abbia esito positivo.If you parse date and time strings generated for a custom culture, you should use the DateTime.ParseExact or DateTime.TryParseExact method instead of the DateTime.Parse or DateTime.TryParse method to improve the probability that the parse operation will succeed. Una stringa di data e ora per le impostazioni cultura personalizzate può essere complessa e pertanto difficile da analizzare.A date and time string for a custom culture can be complicated and therefore difficult to parse. I Parse metodi TryParse e tentano di analizzare una stringa con diversi modelli di analisi implicita, che potrebbero avere esito negativo.The Parse and TryParse methods try to parse a string with several implicit parse patterns, all of which might fail. Il TryParseExact metodo, invece, richiede che l'applicazione designi in modo esplicito uno o più modelli di analisi esatti che potrebbero avere esito positivo.The TryParseExact method, in contrast, requires the application to explicitly designate one or more exact parse patterns that are likely to succeed.

Definizione e creazione di impostazioni cultura personalizzateDefining and Creating a Custom Culture

Usare la CultureAndRegionInfoBuilder classe per definire e denominare impostazioni cultura personalizzate.You use the CultureAndRegionInfoBuilder class to define and name a custom culture. Le impostazioni cultura personalizzate possono essere impostazioni cultura completamente nuove, nuove impostazioni cultura basate su impostazioni cultura esistenti, ovvero impostazioni cultura aggiuntive, oppure impostazioni cultura che sostituiscono le impostazioni cultura .NET Framework esistenti.The custom culture can be an entirely new culture, a new culture that is based on an existing culture (that is, a supplemental culture), or a culture that replaces an existing .NET Framework culture. In ogni caso, i passaggi di base sono gli stessi:In each case, the basic steps are the same:

  1. Creare un'istanza CultureAndRegionInfoBuilder di un oggetto chiamando CultureAndRegionInfoBuilder(String, CultureAndRegionModifiers) il relativo costruttore.Instantiate a CultureAndRegionInfoBuilder object by calling its CultureAndRegionInfoBuilder(String, CultureAndRegionModifiers) constructor. Per sostituire le impostazioni cultura esistenti, passare il nome delle impostazioni cultura CultureAndRegionModifiers.Replacement e il valore di enumerazione al costruttore.To replace an existing culture, pass that culture's name and the CultureAndRegionModifiers.Replacement enumeration value to the constructor. Per creare nuove impostazioni cultura o impostazioni cultura aggiuntive, passare un nome di impostazioni cultura univoco e il CultureAndRegionModifiers.Neutral valore CultureAndRegionModifiers.None di enumerazione o.To create a new culture or a supplemental culture, pass a unique culture name and either the CultureAndRegionModifiers.Neutral or CultureAndRegionModifiers.None enumeration value.

    Nota

    Se si usa il CultureAndRegionModifiers.Replacement valore di enumerazione per creare un' CultureAndRegionInfoBuilder istanza di un CultureAndRegionInfoBuilder oggetto, le CultureInfo proprietà dell'oggetto vengono automaticamente popolate con i valori dell'oggetto da sostituire.If you use the CultureAndRegionModifiers.Replacement enumeration value to instantiate a CultureAndRegionInfoBuilder object, the CultureAndRegionInfoBuilder object's properties are automatically populated with values from the CultureInfo object to be replaced.

  2. Se si sta creando una lingua nuova o supplementare:If you are creating a new or supplemental culture:

  3. Modificare le proprietà dell' CultureAndRegionInfoBuilder oggetto in modo che sia necessario.Modify the properties of the CultureAndRegionInfoBuilder object as necessary.

  4. Se si prevede di registrare le impostazioni cultura personalizzate in una routine separata, chiamare il Save metodo.If you are planning to register the custom culture in a separate routine, call the Save method. Verrà generato un file XML che è possibile caricare e registrare in una routine di installazione di impostazioni cultura personalizzate distinte.This generates an XML file that you can load and register in a separate custom culture installation routine.

Registrazione di impostazioni cultura personalizzateRegistering a Custom Culture

Se si sviluppa un'applicazione di registrazione per impostazioni cultura personalizzate separate dall'applicazione che crea le impostazioni cultura, chiamare il CreateFromLdml metodo per caricare il file XML che contiene la definizione delle impostazioni cultura personalizzate e creare un'istanza di CultureAndRegionInfoBuilderoggetto.If you are developing a registration application for a custom culture that is separate from the application that creates the culture, you call the CreateFromLdml method to load the XML file that contains the custom culture's definition and instantiate the CultureAndRegionInfoBuilder object. Per gestire la registrazione, chiamare il Register metodo.To handle the registration, call the Register method. Affinché la registrazione abbia esito positivo, è necessario che l'applicazione che registra le impostazioni cultura personalizzate sia in esecuzione con privilegi amministrativi sul sistema di destinazione. in caso contrario, la Register chiamata a UnauthorizedAccessException genera un'eccezione.For the registration to succeed, the application that registers the custom culture must be running with administrative privileges on the target system; otherwise, the call to Register throws an UnauthorizedAccessException exception.

Avviso

I dati delle impostazioni cultura possono essere diversi tra i sistemi.Culture data can differ between systems. Se si utilizza la CultureAndRegionInfoBuilder classe per creare impostazioni cultura personalizzate che sono uniformi tra più sistemi e si creano impostazioni cultura personalizzate caricando dati da oggetti esistenti RegionInfo CultureInfo e e personalizzando i dati, è necessario sviluppare due diverse utilità.If you are using the CultureAndRegionInfoBuilder class to create a custom culture that is uniform across multiple systems and you are creating your custom culture by loading data from existing CultureInfo and RegionInfo objects and customizing it, you should develop two different utilities. Il primo crea le impostazioni cultura personalizzate e le salva in un file XML.The first creates the custom culture and saves it to an XML file. Il secondo usa il CreateFromLdml metodo per caricare le impostazioni cultura personalizzate da un file XML e registrarle nel computer di destinazione.The second uses the CreateFromLdml method to load the custom culture from an XML file and register it on the target computer.

Il processo di registrazione esegue le attività seguenti:The registration process performs the following tasks:

  • Crea un file con estensione NLP che contiene le informazioni definite nell' CultureAndRegionInfoBuilder oggetto.Creates an .nlp file that contains the information that is defined in the CultureAndRegionInfoBuilder object.

  • Archivia il file con estensione NLP nella directory di sistema%WINDIR%\Globalization. nel computer di destinazione.Stores the .nlp file in the %windir%\Globalization system directory on the target computer. Ciò consente di salvare le impostazioni delle impostazioni cultura personalizzate tra le sessioni.This enables the custom culture's settings to persist between sessions. Il CultureAndRegionInfoBuilder metodo richiede privilegi amministrativi perché il file con estensione NLP è archiviato in una directory di sistema.(The CultureAndRegionInfoBuilder method requires administrative privileges because the .nlp file is stored in a system directory.)

  • Prepara il .NET Framework per cercare la directory di sistema%WINDIR%\Globalization. anziché una cache interna alla successiva richiesta di creazione delle nuove impostazioni cultura personalizzate.Prepares the .NET Framework to search the %windir%\Globalization system directory instead of an internal cache the next time there is a request to create your new custom culture.

Quando una lingua personalizzata viene registrata correttamente, non è distinguibile dalle impostazioni cultura predefinite dal .NET Framework.When a custom culture is successfully registered, it is indistinguishable from the cultures that are predefined by the .NET Framework. Le impostazioni cultura personalizzate sono disponibili finché una chiamata al CultureAndRegionInfoBuilder metodo non rimuove il file con estensione NLP dal computer locale.The custom culture is available until a call to the CultureAndRegionInfoBuilder method removes the .nlp file from the local computer.

Creazione di un'istanza di impostazioni cultura personalizzateInstantiating a Custom Culture

È possibile creare un'istanza delle impostazioni cultura personalizzate in uno dei modi seguenti:You can create an instance of the custom culture in one of the following ways:

Inoltre, la matrice di CultureInfo oggetti restituita CultureInfo.GetCultures dal metodo include le impostazioni cultura personalizzate.In addition, the array of CultureInfo objects that is returned by the CultureInfo.GetCultures method includes the custom culture.

Costruttori

CultureAndRegionInfoBuilder(String, CultureAndRegionModifiers)

Inizializza una nuova istanza della classe CultureAndRegionInfoBuilder.Initializes a new instance of the CultureAndRegionInfoBuilder class.

Proprietà

AvailableCalendars

Ottiene o imposta una matrice di calendari supportati dall'oggetto CultureAndRegionInfoBuilder.Gets or sets an array of calendars that are supported by this CultureAndRegionInfoBuilder object.

CompareInfo

Ottiene o imposta l'oggetto CompareInfo che definisce la modalità di confronto delle stringhe per le impostazioni cultura.Gets or sets the CompareInfo object that defines how to compare strings for the culture.

ConsoleFallbackUICulture

Ottiene o definisce impostazioni cultura dell'interfaccia utente alternative adatte per le applicazioni di console quando le impostazioni cultura predefinite dell'interfaccia utente grafica non sono appropriate.Gets or sets an alternate user interface culture suitable for console applications when the default graphic user interface culture is inappropriate.

CultureEnglishName

Ottiene o imposta il nome delle impostazioni cultura in inglese.Gets or sets the culture name in English.

CultureName

Ottiene il nome delle impostazioni cultura create.Gets the name of the culture being created.

CultureNativeName

Ottiene o imposta il nome delle impostazioni cultura nel formato e nella lingua impostati per la visualizzazione.Gets or sets the culture name in the format and language that the culture is set to display.

CultureTypes

Ottiene il valore di CultureTypes che descrive le impostazioni cultura rappresentate dall'oggetto CultureAndRegionInfoBuilder corrente.Gets the CultureTypes value that describes the culture represented by the current CultureAndRegionInfoBuilder object.

CurrencyEnglishName

Ottiene o imposta il nome in inglese della valuta usata nel paese/area geografica rappresentato dall'oggetto CultureAndRegionInfoBuilder.Gets or sets the name, in English, of the currency used in the country/region represented by the current CultureAndRegionInfoBuilder object.

CurrencyNativeName

Ottiene o imposta il nome nativo della valuta usata nel paese/area geografica rappresentato dall'oggetto CultureAndRegionInfoBuilder corrente.Gets or sets the native name of the currency used in the country/region represented by the current CultureAndRegionInfoBuilder object.

GeoId

Ottiene o imposta un numero di identificazione univoco per un'area geografica, un paese, una città o una località.Gets or sets a unique identification number for a geographical region, country, city, or location.

GregorianDateTimeFormat

Ottiene o imposta un oggetto DateTimeFormatInfo che definisce il formato di date e ore in base al calendario gregoriano.Gets or sets a DateTimeFormatInfo object that defines the format of dates and times according to the Gregorian calendar.

IetfLanguageTag

Ottiene o imposta un nome di impostazioni cultura formattato in base allo standard RFC 4646 relativo ai tag per l'identificazione delle lingue.Gets or sets a culture name formatted according to the RFC 4646 standard, "Tags for the Identification of Languages."

IsMetric

Ottiene o imposta un valore che indica se nel paese/area geografica in questione viene usato il sistema metrico per le misurazioni.Gets or sets a value indicating whether the country/region uses the metric system for measurements.

ISOCurrencySymbol

Ottiene o imposta il simbolo di valuta di tre caratteri ISO 4217 associato al paese/area geografica.Gets or sets the three-character ISO 4217 currency symbol associated with the country/region.

IsRightToLeft

Ottiene o imposta la direzione predominante delle righe di testo nel sistema di scrittura associato all'oggetto CultureAndRegionInfoBuilder corrente.Gets or sets the predominant direction of lines of text in the writing system associated with the current CultureAndRegionInfoBuilder object.

KeyboardLayoutId

Ottiene o imposta l'ID delle impostazioni locali di input attivo.Gets or sets the active input locale identifier.

LCID

Ottiene l'identificatore di impostazioni cultura per l'oggetto CultureAndRegionInfoBuilder corrente.Gets the culture identifier for the current CultureAndRegionInfoBuilder object.

NumberFormat

Ottiene o imposta un oggetto NumberFormatInfo che definisce il formato per la visualizzazione di numeri, valute e percentuali appropriato per la lingua.Gets or sets a NumberFormatInfo object that defines the culturally appropriate format of displaying numbers, currency, and percentage.

Parent

Ottiene o imposta l'oggetto CultureInfo che rappresenta le impostazioni cultura padre delle impostazioni cultura personalizzate correnti.Gets or sets the CultureInfo object that represents the parent culture of the current custom culture.

RegionEnglishName

Ottiene o imposta il nome completo del paese/area geografica in lingua inglese.Gets or sets the full name of the country/region in English.

RegionName

Ottiene il nome del paese/area geografica per l'oggetto CultureAndRegionInfoBuilder corrente.Gets the name of the country/region for the current CultureAndRegionInfoBuilder object.

RegionNativeName

Ottiene o imposta il nome completo del paese/area geografica usato dalle persone di queste impostazioni cultura personalizzate.Gets or sets the full name of the country/region as known by the people of this custom culture.

TextInfo

Ottiene o imposta l'oggetto TextInfo che definisce il sistema di scrittura associato alle impostazioni cultura personalizzate.Gets or sets the TextInfo object that defines the writing system associated with this custom culture.

ThreeLetterISOLanguageName

Ottiene o imposta il codice ISO 639-2 di tre lettere per le impostazioni cultura personalizzate.Gets or sets the ISO 639-2 three-letter code for the language of this custom culture.

ThreeLetterISORegionName

Ottiene o imposta il codice di tre lettere definito in base allo standard ISO 3166 per il paese/area geografica.Gets or sets the three-letter code defined in ISO 3166 for the country/region.

ThreeLetterWindowsLanguageName

Ottiene o imposta il codice di tre lettere per la lingua, in base alla definizione nell'API Windows.Gets or sets the three-letter code for the language as defined in the Windows API.

ThreeLetterWindowsRegionName

Ottiene o imposta il codice di tre lettere assegnato in Windows al paese/area geografica rappresentato dalle impostazioni cultura personalizzate correnti.Gets or sets the three-letter code assigned by Windows to the country/region represented by the current custom culture.

TwoLetterISOLanguageName

Ottiene o imposta il codice ISO 639-1 di due lettere per la lingua dell'oggetto CultureInfo corrente.Gets or sets the ISO 639-1 two-letter code for the language of the current CultureInfo object.

TwoLetterISORegionName

Ottiene o imposta il codice di due lettere definito in base allo standard ISO 3166 per il paese/area geografica.Gets or sets the two-letter code defined in ISO 3166 for the country/region.

Metodi

CreateFromLdml(String)

Ricostituisce un oggetto CultureAndRegionInfoBuilder da un file XML specificato contenente una rappresentazione dell'oggetto.Reconstitutes a CultureAndRegionInfoBuilder object from a specified XML file that contains a representation of the object.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
LoadDataFromCultureInfo(CultureInfo)

Imposta le proprietà dell'oggetto CultureAndRegionInfoBuilder corrente in base alle proprietà corrispondenti dell'oggetto CultureInfo specificato.Sets the properties of the current CultureAndRegionInfoBuilder object with the corresponding properties of the specified CultureInfo object.

LoadDataFromRegionInfo(RegionInfo)

Imposta le proprietà dell'oggetto CultureAndRegionInfoBuilder corrente in base alle proprietà corrispondenti dell'oggetto RegionInfo specificato.Sets the properties of the current CultureAndRegionInfoBuilder object with the corresponding properties of the specified RegionInfo object.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
Register()

Rende l'oggetto CultureAndRegionInfoBuilder corrente persistente come impostazioni cultura personalizzate nel computer locale e rende tali impostazioni cultura disponibili alle applicazioni.Persists the current CultureAndRegionInfoBuilder object as a custom culture on the local computer and makes that culture available to applications. Richiede privilegi di amministratore.Requires administrative privileges.

Save(String)

Scrive una rappresentazione XML dell'oggetto CultureAndRegionInfoBuilder corrente nel file specificato.Writes an XML representation of the current CultureAndRegionInfoBuilder object to the specified file.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)
Unregister(String)

Elimina impostazioni cultura personalizzate dal computer locale.Deletes a custom culture from the local computer.

Si applica a