Klasa CultureAndRegionInfoBuilder

Ten artykuł zawiera dodatkowe uwagi dotyczące dokumentacji referencyjnej dla tego interfejsu API.

Uwaga

Klasa jest przydatna CultureAndRegionInfoBuilder tylko w przypadku systemów operacyjnych Windows. Wygenerowane pliki nlp nie są obsługiwane w systemach operacyjnych innych niż Windows. Ponadto nawet w systemie Windows wygenerowane pliki nlp są obsługiwane tylko w programie .NET Framework (lub na platformie .NET Core w przypadku korzystania z trybu globalizacji nlS).

Klasa CultureInfo zawiera informacje specyficzne dla kultury, takie jak skojarzony język, podjęzyczność, kraj/region, kalendarz i konwencje kulturowe. Ta klasa udostępnia również wystąpienia DateTimeFormatInfospecyficzne dla kultury klas , NumberFormatInfo, CompareInfoi TextInfo , które są wymagane dla operacji specyficznych dla kultury, takich jak wielkość liter, formatowanie i analizowanie dat i liczb oraz porównywanie ciągów.

Domyślnie platforma .NET obsługuje CultureInfo obiekty reprezentujące wstępnie zdefiniowany zestaw kultur. Aby uzyskać listę tych kultur dostępnych w systemach Windows, zobacz kolumnę Tag języka na liście nazw języków/regionów obsługiwanych przez system Windows. Nazwy kultur są zgodne ze standardem zdefiniowanym przez BCP 47. Klasa CultureAndRegionInfoBuilder umożliwia utworzenie kultury niestandardowej, która jest całkowicie nowa lub zastępuje wstępnie zdefiniowaną kulturę. Gdy kultura niestandardowa jest zainstalowana i zarejestrowana na określonym komputerze, staje się nie do odróżnienia od wstępnie zdefiniowanych CultureInfo obiektów i może być tworzone i używane tak samo jak te obiekty.

Ważne

Klasa CultureAndRegionInfoBuilder znajduje się w zestawie o nazwie sysglobl.dll. Aby pomyślnie skompilować kod używający tego typu, należy dodać odwołanie do sysglobl.dll.

Kulturę niestandardową można zarejestrować na komputerze tylko przez użytkownika, który ma prawa administracyjne na tym komputerze. W związku z tym aplikacje zazwyczaj nie tworzą i nie instalują kultur niestandardowych. Zamiast tego możesz użyć CultureAndRegionInfoBuilder klasy do utworzenia narzędzia specjalnego przeznaczenia, którego administrator może użyć do tworzenia, instalowania i rejestrowania kultury niestandardowej. Po zarejestrowaniu kultury niestandardowej na komputerze możesz użyć CultureInfo klasy w aplikacji, aby utworzyć wystąpienia kultury niestandardowej tak samo jak w przypadku wstępnie zdefiniowanej kultury.

Jeśli analizujesz ciągi daty i godziny wygenerowane dla kultury niestandardowej, należy użyć DateTime.ParseExact metody lub zamiast DateTime.Parse metody lub DateTime.TryParseExactDateTime.TryParse, aby poprawić prawdopodobieństwo, że operacja analizy zakończy się pomyślnie. Ciąg daty i godziny dla kultury niestandardowej może być skomplikowany i dlatego trudny do przeanalizowana. Metody Parse i TryParse próbują przeanalizować ciąg z kilkoma niejawnymi wzorcami analizy, z których wszystkie mogą zakończyć się niepowodzeniem. Natomiast TryParseExact metoda wymaga, aby aplikacja jawnie wyznaczyła jeden lub więcej dokładnych wzorców analizy, które mogą zakończyć się powodzeniem.

Definiowanie i tworzenie kultury niestandardowej

Klasa służy CultureAndRegionInfoBuilder do definiowania i nazywania kultury niestandardowej. Kultura niestandardowa może być całkowicie nową kulturą, nową kulturą opartą na istniejącej kulturze (czyli uzupełniającej) lub kulturą zastępującą istniejącą kulturę platformy .NET. W każdym przypadku podstawowe kroki są takie same:

  1. CultureAndRegionInfoBuilder Utworzenie wystąpienia obiektu przez wywołanie jego CultureAndRegionInfoBuilder(String, CultureAndRegionModifiers) konstruktora. Aby zastąpić istniejącą kulturę, przekaż nazwę tej kultury i CultureAndRegionModifiers.Replacement wartość wyliczenia do konstruktora. Aby utworzyć nową kulturę lub kulturę uzupełniającą, przekaż unikatową nazwę kultury i CultureAndRegionModifiers.Neutral wartość wyliczenia lub CultureAndRegionModifiers.None .

    Uwaga

    Jeśli używasz CultureAndRegionModifiers.Replacement wartości wyliczenia do utworzenia wystąpienia CultureAndRegionInfoBuilder obiektu, CultureAndRegionInfoBuilder właściwości obiektu są automatycznie wypełniane wartościami z CultureInfo obiektu, które mają zostać zamienione.

  2. Jeśli tworzysz nową lub dodatkową kulturę:

  3. Zmodyfikuj CultureAndRegionInfoBuilder właściwości obiektu zgodnie z potrzebami.

  4. Jeśli planujesz zarejestrować kulturę niestandardową w oddzielnej procedurze, wywołaj metodę Save . Spowoduje to wygenerowanie pliku XML, który można załadować i zarejestrować w oddzielnej niestandardowej procedurze instalacji kultury.

Rejestrowanie kultury niestandardowej

Jeśli tworzysz aplikację rejestracji dla kultury niestandardowej, która jest oddzielona od aplikacji tworzącej kulturę, wywołaj CreateFromLdml metodę , aby załadować plik XML zawierający definicję kultury niestandardowej i utworzyć CultureAndRegionInfoBuilder wystąpienie obiektu. Aby obsłużyć rejestrację, wywołaj metodę Register . Aby rejestracja powiodła się, aplikacja, która rejestruje kulturę niestandardową, musi być uruchomiona z uprawnieniami administracyjnymi w systemie docelowym; w przeciwnym razie wywołanie w celu Register zgłoszenia wyjątku UnauthorizedAccessException .

Ostrzeżenie

Dane kultury mogą się różnić między systemami. Jeśli używasz CultureAndRegionInfoBuilder klasy do tworzenia kultury niestandardowej, która jest jednolita w wielu systemach i tworzysz kulturę niestandardową, ładując dane z istniejących CultureInfo obiektów i RegionInfo i dostosowując je, należy opracować dwa różne narzędzia. Pierwsza metoda tworzy kulturę niestandardową i zapisuje ją w pliku XML. Drugi używa CreateFromLdml metody do załadowania kultury niestandardowej z pliku XML i zarejestrowania go na komputerze docelowym.

Proces rejestracji wykonuje następujące zadania:

  • Tworzy plik nlp zawierający informacje zdefiniowane w CultureAndRegionInfoBuilder obiekcie.
  • Przechowuje plik nlp w katalogu systemowym %windir%\Globalization na komputerze docelowym. Dzięki temu ustawienia kultury niestandardowej mogą być utrwalane między sesjami. (Metoda CultureAndRegionInfoBuilder wymaga uprawnień administracyjnych, ponieważ plik nlp jest przechowywany w katalogu systemowym).
  • Przygotowuje platformę .NET do przeszukiwania katalogu systemowego %windir%\Globalization zamiast wewnętrznej pamięci podręcznej przy następnym żądaniu utworzenia nowej kultury niestandardowej.

Po pomyślnym zarejestrowaniu kultury niestandardowej nie można jej oddawać ze wstępnie zdefiniowanych kultur przez platformę .NET. Kultura niestandardowa jest dostępna do CultureAndRegionInfoBuilder momentu usunięcia pliku nlp z komputera lokalnego przez wywołanie metody .

Tworzenie wystąpienia kultury niestandardowej

Wystąpienie kultury niestandardowej można utworzyć w jeden z następujących sposobów:

Ponadto tablica CultureInfo obiektów zwracanych przez CultureInfo.GetCultures metodę obejmuje kulturę niestandardową.