加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

.net – 将大型资源文件物理拆分为多个文件,而编译器将其视为一

发布时间:2020-12-16 03:47:35 所属栏目:asp.Net 来源:网络整理
导读:是否可以将一个大的资源(.resx)文件物理地拆分为多个文件,并仍然使用相同的syntex来获取数据 即 GlobalResource.resx 成 GlobalResource1.resx,GlobalResource2.resx,GlobalResource3.resx,…… 并且所有文件将被拼凑成一个并使用like Resources.GlobalResou
是否可以将一个大的资源(.resx)文件物理地拆分为多个文件,并仍然使用相同的syntex来获取数据

GlobalResource.resx

GlobalResource1.resx,GlobalResource2.resx,GlobalResource3.resx,……

并且所有文件将被拼凑成一个并使用like

Resources.GlobalResource.errParamNameReq

在Asp.net 3.5中使用它.在svn上工作时遇到问题,每次尝试签入时都会遇到冲突,所以我想把它拆分成许多文件,而编译器则把它当作一个.

解决方法

每个资源文件都有一个代码隐藏文件,用于将资源项声明为静态属性.工具也使用很多自动代码生成作为Visual Studio来同步xml /资源编辑器数据和代码隐藏文件.将资源拆分为多个文件可能是可能的,但稍后自动生成代码的效果可能会导致更多问题,而不仅仅是合并您的更改.可能的解决方案是创建不同的资源文件.然后有一个类为每个资源管理器保存一个ResourceManager实例的集合.像这样的东西:

public class ResourceWrapper
    {
        private ICollection<ResourceManager> resourceManagers;

        public ResourceWrapper(IEnumerable<ResourceManager> managers)
        {
            resourceManagers = new List<ResourceManager>(managers);
        }

        public string GetString(string key)
        {
            foreach (var resourceManager in resourceManagers)
            {
                string res = resourceManager.GetString(key);
                if (res != null)
                {
                    return res;
                }
            }
            return null;
        }
        public string GetString(string key,CultureInfo culture)
        {
            foreach (var resourceManager in resourceManagers)
            {
                string res = resourceManager.GetString(key,culture);
                if (res != null)
                {
                    return res;
                }
            }
            return null;
        }
    }

您只需获取所有资源并将它们传递给构造函数.您可能希望在创建包装器实例后保留它,以避免为每个资源文件创建资源管理器 – 静态文件将执行此操作.上述代码的唯一问题是无法保证2个或更多资源文件定义相同的密钥.如果发生这种情况,代码将仅返回第一个匹配项.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读