当前位置: 首页>>代码示例>>C#>>正文


C# CultureInfo.GetCulture方法代码示例

本文整理汇总了C#中System.Globalization.CultureInfo.GetCulture方法的典型用法代码示例。如果您正苦于以下问题:C# CultureInfo.GetCulture方法的具体用法?C# CultureInfo.GetCulture怎么用?C# CultureInfo.GetCulture使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Globalization.CultureInfo的用法示例。


在下文中一共展示了CultureInfo.GetCulture方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetObject

        ///<summary>
        /// 키 및 culture에 대한 리소스 개체를 반환합니다.
        ///</summary>
        ///<returns>
        ///<paramref name="resourceKey" /> 및 <paramref name="culture" />에 대한 리소스 값을 포함하는 <see cref="T:System.Object" />입니다.
        ///</returns>
        ///<param name="resourceKey">
        /// 특정 리소스를 식별하는 키입니다.
        /// </param>
        ///<param name="culture">
        /// 리소스의 지역화된 값을 식별하는 culture입니다.
        ///</param>
        /// <returns>resource value, if not exists, return null</returns>
        public override object GetObject(string resourceKey, CultureInfo culture) {
            if(IsDebugEnabled)
                log.Debug(@"리소스 값을 조회합니다. resourceKey=[{0}], culture=[{1}]", resourceKey, culture);

            culture = culture.GetCulture();
            var result = base.GetObject(resourceKey, culture);

            // resource value가 문자열일때만 parameter를 치환한다.
            //
            if(result != null && result is string && ((string)result).Contains(StringResourceTool.PARAM_REF_START))
                result = GetExpanded(resourceKey, culture, (string)result);

            if(IsDebugEnabled)
                log.Debug("리소스 값을 조회했습니다. resourceKey=[{0}], culture=[{1}], value=[{2}]", resourceKey, culture, result);

            return result;
        }
开发者ID:debop,项目名称:NFramework,代码行数:30,代码来源:ParameterizedResourceProvider.cs

示例2: GetResource

        /// <summary>
        /// 리소스 값 얻기
        /// </summary>
        public string GetResource(CultureInfo culture, string resourceKey) {
            if(IsDebugEnabled)
                log.Debug("리소스 얻기... resourceType=[{0}], culture=[{1}], resourceKey=[{2}]", ResourceName, culture, resourceKey);

            string resourceValue;

            try {
                culture = culture.GetCulture();

                // 지정된 문화권에 해당 키가 정의되어 있지 않다면, 상위 문화권에서 찾는다.
                //
                resourceValue = GetResourceInternal(culture, resourceKey);
            }
            catch(Exception ex) {
                if(log.IsWarnEnabled) {
                    log.Warn("리소스를 얻는데 실패했습니다. 예외를 발생시키지는 않고, 빈 문자열을 반환합니다. culture=[{0}], resourceKey=[{1}", culture, resourceKey);
                    log.Warn(ex);
                }
                resourceValue = string.Empty;
            }

            if(IsDebugEnabled)
                log.Debug("리소스를 얻었습니다. resourceType=[{0}], culture=[{1}], resourceKey=[{2}], resourceValue=[{3}]",
                          ResourceName, culture, resourceKey, resourceValue);

            return resourceValue;
        }
开发者ID:debop,项目名称:NFramework,代码行数:30,代码来源:AdoResourceRepository.cs

示例3: GetObject

        ///<summary>
        /// 키 및 culture에 대한 리소스 개체를 반환합니다.
        ///</summary>
        ///<returns>
        ///<paramref name="resourceKey" /> 및 <paramref name="culture" />에 대한 리소스 값을 포함하는 <see cref="T:System.Object" />입니다.
        ///</returns>
        ///<param name="resourceKey">
        /// 특정 리소스를 식별하는 키입니다.
        /// </param>
        ///<param name="culture">
        /// 리소스의 지역화된 값을 식별하는 culture입니다.
        ///</param>
        /// <returns>resource value, if not exists, return null</returns>
        public override object GetObject(string resourceKey, CultureInfo culture) {
            resourceKey.ShouldNotBeWhiteSpace("resourceKey");

            if(IsDebugEnabled)
                log.Debug("Get Resource value... resourceKey=[{0}], culture=[{1}], AssemblyName=[{2}], ResourceName=[{3}]",
                          resourceKey, culture, AssemblyName, ResourceName);

            culture = culture.GetCulture();

            // 캐시 확인
            Hashtable resourceValues = null;

            if(_resourcesCache.TryGetValue(culture, out resourceValues)) {
                if(resourceValues.ContainsKey(resourceKey))
                    return resourceValues[resourceKey];
            }

            // DB에서 해당 정보 조회
            var result = Repository.GetResource(culture, resourceKey);

            // 캐시에 저장
            lock(_syncLock) {
                if(_resourcesCache.TryGetValue(culture, out resourceValues) == false) {
                    resourceValues = new Hashtable();
                    _resourcesCache.Add(culture, resourceValues);
                }

                // NOTE: MultiThread 상태에서 lock이 걸려 있어도, resourceValues에 기존 key가 있을 경우에는 넣지 않는다!!!
                //
                if(resourceValues.ContainsKey(resourceKey) == false)
                    resourceValues.Add(resourceKey, result);
            }

            return result;
        }
开发者ID:debop,项目名称:NFramework,代码行数:48,代码来源:AdoResourceProvider.cs


注:本文中的System.Globalization.CultureInfo.GetCulture方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。