문제: 기존 스레드와 새로 생성된 스레드를 모두 포함하여 .NET 애플리케이션 내의 모든 스레드에 단일 문화권 설정을 어떻게 적용할 수 있습니까?
해결책: 가능합니다.
.NET 4.5 및 이후 버전에서는 CultureInfo.DefaultThreadCurrentCulture
속성이 간단한 방법을 제공합니다. 애플리케이션 시작 시 이 속성을 설정하면 전체 AppDomain
에 대한 기본 문화가 설정됩니다. 기존 스레드와 미래 스레드 모두 이 문화를 계승하게 됩니다.
4.5 이전 .NET 버전의 경우 리플렉션을 사용하여 AppDomain
문화권을 조정할 수 있습니다. CultureInfo
클래스에는 스레드가 자신의 값을 명시적으로 정의하지 않은 경우 m_userDefaultCulture
값을 결정하는 전용 정적 필드(.NET 버전에 따라 s_userDefaultCulture
또는 CurrentCulture
)가 포함되어 있습니다. 이 필드를 간접적으로 수정하면 기본 문화권이 설정됩니다.
이 방법은 기본 스레드 로케일을 변경하지 않는다는 점을 이해하는 것이 중요합니다. 또한 이 기술을 사용하는 애플리케이션 배포는 잠재적인 호환성과 예상치 못한 문제로 인해 일반적으로 권장되지 않습니다. 그러나 개발 및 테스트 중에는 유용할 수 있습니다.
위 내용은 내 .NET 애플리케이션의 모든 스레드에 단일 문화권 설정을 적용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!