CultureAndRegionInfoBuilder 클래스
이 문서에서는 이 API에 대한 참조 설명서에 대한 추가 설명서를 제공합니다.
참고 항목
이 CultureAndRegionInfoBuilder 클래스는 Windows 운영 체제에만 유용합니다. 생성된 .nlp 파일은 비 Windows 운영 체제에서 지원되지 않습니다. 또한 Windows에서도 생성된 .nlp 파일은 .NET Framework(또는 NLS 세계화 모드를 사용하는 경우 .NET Core)에서만 지원됩니다.
클래스는 CultureInfo 관련 언어, 하위 언어, 국가/지역, 달력 및 문화권 규칙과 같은 문화권별 정보를 보유합니다. 또한 이 클래스는 대/소문자, 날짜 및 숫자 서식 및 구문 분석, 문자열 비교와 TextInfo 같은 문화권별 작업에 필요한 , CompareInfoNumberFormatInfo및 클래스의 문화권별 인스턴스DateTimeFormatInfo를 제공합니다.
기본적으로 .NET은 CultureInfo 미리 정의된 문화권 집합을 나타내는 개체를 지원합니다. Windows 시스템에서 사용할 수 있는 이러한 문화권 목록은 Windows에서 지원하는 언어/지역 이름 목록에서 언어 태그 열을 참조하세요. 문화권 이름은 BCP 47에 정의된 표준을 따릅니다. 클래스 CultureAndRegionInfoBuilder 를 사용하면 완전히 새로운 사용자 지정 문화권을 만들거나 미리 정의된 문화권을 재정의할 수 있습니다. 사용자 지정 문화권이 설치되어 특정 컴퓨터에 등록되면 미리 정의된 CultureInfo 개체와 구별할 수 없게 되며 이러한 개체와 마찬가지로 인스턴스화하고 사용할 수 있습니다.
Important
CultureAndRegionInfoBuilder 클래스는 sysglobl.dll 라는 어셈블리에서 찾을 수 있습니다. 이 형식을 사용하는 코드를 성공적으로 컴파일하려면 sysglobl.dll 대한 참조를 추가해야 합니다.
사용자 지정 문화권은 해당 컴퓨터에 대한 관리 권한이 있는 사용자만 컴퓨터에 등록할 수 있습니다. 따라서 앱은 일반적으로 사용자 지정 문화권을 만들고 설치하지 않습니다. 대신 클래스를 CultureAndRegionInfoBuilder 사용하여 관리자가 사용자 지정 문화권을 만들고, 설치하고, 등록하는 데 사용할 수 있는 특수한 용도의 도구를 만들 수 있습니다. 사용자 지정 문화권이 컴퓨터에 등록되면 미리 정의된 문화권과 마찬가지로 앱의 클래스를 사용하여 CultureInfo 사용자 지정 문화권의 인스턴스를 만들 수 있습니다.
사용자 지정 문화권에 대해 생성된 날짜 및 시간 문자열을 구문 분석하는 경우 구문 분석 작업이 성공할 확률을 높이기 위해 메서드 대신 DateTime.Parse 또는 DateTime.TryParseExactDateTime.TryParse 메서드를 사용해야 DateTime.ParseExact 합니다. 사용자 지정 문화권의 날짜 및 시간 문자열은 복잡하므로 구문 분석하기가 어려울 수 있습니다. 및 TryParse 메서드는 Parse 여러 암시적 구문 분석 패턴으로 문자열을 구문 분석하려고 시도하며 모두 실패할 수 있습니다. TryParseExact 메서드를 명시적으로 성공할 수 있는 하나 이상의 정확한 구문 분석 패턴을 지정 애플리케이션에 필요한 반면, 합니다.
사용자 지정 문화권 정의 및 만들기
클래스를 CultureAndRegionInfoBuilder 사용하여 사용자 지정 문화권을 정의하고 이름을 지정합니다. 사용자 지정 문화권은 완전히 새로운 문화권, 기존 문화권(즉, 추가 문화권)을 기반으로 하는 새로운 문화권 또는 기존 .NET 문화권을 대체하는 문화권일 수 있습니다. 각각의 경우 기본 단계는 동일합니다.
생성자를 CultureAndRegionInfoBuilder 호출하여 개체를 인스턴스화합니다 CultureAndRegionInfoBuilder(String, CultureAndRegionModifiers) . 기존 문화권을 바꾸려면 해당 문화권의 이름과 CultureAndRegionModifiers.Replacement 열거형 값을 생성자에 전달합니다. 새 문화권 또는 추가 문화권을 만들려면 고유한 문화권 이름과 CultureAndRegionModifiers.NeutralCultureAndRegionModifiers.None 열거형 값을 전달합니다.
참고 항목
열거형 값을 사용하여 CultureAndRegionModifiers.Replacement 개체를 인스턴스화하는 CultureAndRegionInfoBuilder 경우 개체 CultureAndRegionInfoBuilder 의 속성은 바꿀 개체의 값 CultureInfo 으로 자동으로 채워집니다.
새 문화권 또는 추가 문화권을 만드는 경우:
- 메서드를 CultureAndRegionInfoBuilder 호출 LoadDataFromCultureInfo 하고 속성 값이 새 개체와 유사한 개체를 CultureInfo 전달하여 개체의 속성을 채웁다.
- 메서드를 CultureAndRegionInfoBuilder 호출 LoadDataFromRegionInfo 하고 사용자 지정 문화권의 영역을 나타내는 개체를 RegionInfo 전달하여 개체의 지역 속성을 채웁니다.
필요에 따라 개체의 CultureAndRegionInfoBuilder 속성을 수정합니다.
사용자 지정 문화권을 별도의 루틴에 등록하려는 경우 메서드를 호출합니다 Save . 이렇게 하면 별도의 사용자 지정 문화권 설치 루틴에서 로드하고 등록할 수 있는 XML 파일이 생성됩니다.
사용자 지정 문화권 등록
문화권을 야기 하는 애플리케이션에서 분리 된 사용자 지정 문화권에 대 한 등록 애플리케이션을 개발 하는 경우, 호출 하는 CreateFromLdml 메서드를 사용자 지정 문화권의 정의가 포함 된 XML 파일을 로드 하 고는 를인스턴스화합니다CultureAndRegionInfoBuilder개체입니다. 등록을 처리하려면 메서드를 호출합니다 Register . 성공 하려면 등록을 위한 사용자 지정 문화권을 등록 하는 애플리케이션에서 실행 되어야 합니다 관리자 권한으로 대상 시스템 그렇지 않은 경우에 대 한 호출 Register throw는 UnauthorizedAccessException 예외입니다.
Warning
문화권 데이터는 시스템 간에 다를 수 있습니다. 클래스를 CultureAndRegionInfoBuilder 사용하여 여러 시스템에서 균일한 사용자 지정 문화권을 만들고 기존 CultureInfo 및 개체에서 데이터를 로드하고 RegionInfo 사용자 지정하여 사용자 지정 문화권을 만드는 경우 두 가지 유틸리티를 개발해야 합니다. 첫 번째는 사용자 지정 문화권을 만들고 XML 파일에 저장합니다. 두 번째 메서드를 CreateFromLdml 사용 하 여 XML 파일에서 사용자 지정 문화권을 로드 하 고 대상 컴퓨터에 등록 합니다.
등록 프로세스는 다음 작업을 수행합니다.
- 개체에 정의된 CultureAndRegionInfoBuilder 정보를 포함하는 .nlp 파일을 만듭니다.
- 대상 컴퓨터의 %windir%\Globalization 시스템 디렉터리에 .nlp 파일을 저장합니다. 이렇게 하면 사용자 지정 문화권의 설정이 세션 간에 유지됩니다. CultureAndRegionInfoBuilder(.nlp 파일이 시스템 디렉터리에 저장되므로 메서드에 관리 권한이 필요합니다.)
- 다음에 새 사용자 지정 문화권을 만들라는 요청이 있을 때 내부 캐시 대신 %windir%\Globalization 시스템 디렉터리를 검색하도록 .NET을 준비합니다.
사용자 지정 문화권이 성공적으로 등록되면 .NET에서 미리 정의된 문화권과 구별할 수 없습니다. 사용자 지정 문화권은 메서드 호출이 CultureAndRegionInfoBuilder 로컬 컴퓨터에서 .nlp 파일을 제거할 때까지 사용할 수 있습니다.
사용자 지정 문화권 인스턴스화
다음 방법 중 하나로 사용자 지정 문화권의 인스턴스를 만들 수 있습니다.
- 문화권 이름을 사용하여 생성자를 호출합니다 CultureInfo.CultureInfo .
- 문화권 이름을 사용하여 CultureInfo.CreateSpecificCulture 메서드를 호출합니다.
- 문화권 이름을 사용하여 CultureInfo.GetCultureInfo 메서드를 호출합니다.
또한 메서드에서 반환 CultureInfo.GetCultures 되는 개체의 CultureInfo 배열에는 사용자 지정 문화권이 포함됩니다.
.NET