我知道如何以编程方式在.resx文件中检索和创建资源条目。我正在使用ResourceWriter
和ResourceReader
来实现这种方法。但是现在我想清理.resx文件中的几个项目,并希望删除它们。我怎样才能做到这一点?
答案 0 :(得分:6)
使用ResXResourceReader和ResXResourceWriter类。
使用阅读器阅读您的resx并将其提供给编写器,省略您要删除的条目。
答案 1 :(得分:0)
在我的工作中,我必须开发以从文化文件中删除我在标准文化文件中所拥有的内容。
代码是这样的:
private void ResolveConflicts()
{
using (var cultura = new ResXResourceReader(CulturaPath))
using (var culturaCustom = new ResXResourceReader(CulturaCustomPath))
{
Resources = (from cc in culturaCustom.Cast<DictionaryEntry>()
where !(from c in cultura.Cast<DictionaryEntry>()
select new { c.Key, c.Value })
.Contains(new { cc.Key, cc.Value })
select new Tuple<string, string>(
cc.Key.ToString(),
cc.Value.ToString())).ToList();
}
ReWriteCustomFile();
}
private void ReWriteCustomFile()
{
using (var writer = new ResXResourceWriter(CulturaCustomPath))
{
Resources.ForEach(r => writer.AddResource(r.Item1, r.Item2));
writer.Generate();
writer.Close();
}
}
使用此代码,它仅在自定义文化中记录与默认值不同的内容。
我希望它有所帮助,谢谢!