添加自定义列resx文件

时间:2009-10-28 19:05:04

标签: c# resx

这可能听起来像是一个不寻常的问题,但我很好奇我如何在resx文件设置中添加一个额外的列(所以我会有“name,value,comment,foo”这样的东西)

我在网上环顾四周,并没有听说过其他人尝试这样的事情,但我认为可以通过编写新的resx读写器来做到这一点。只是想知道是否有人对此问题有任何见解,主要是我打算使用它来存储消息并使用存储在资源文件中的优先级记录它们(在本例中为foo列)

2 个答案:

答案 0 :(得分:5)

您可以使用XML编辑器打开resx文件并修改架构,但Visual Studio中内置的resx编辑器将删除您手动添加到架构的任何列。

但是通过创建自己的阅读器应该是可能的。

[编辑] 我从.Net框架复制了ResXResourceReader / Writer,但是当我将它们添加到.resx文件时,.Net中的托管资源编辑器会抛出错误。我最好的建议是在架构中添加一个新列,并使用另一个编辑器,如http://madskristensen.net/post/A-NET-resource-editor-application-for-resx-files.aspx处的编辑器。只需修改代码即可考虑额外的列。

答案 1 :(得分:1)

尝试使用简单的命名系统来存储“名称”的键值对,例如:

name->"value"
name-comment->"comment value"
name-foo->"foo value"

这样您就可以为“新列”存储任意数量的name-key->值对。

如果您的要求更复杂,并且微妙的,然后考虑编写自己的资源读写器。

此外,这听起来像是您需要更紧密地匹配数据库表。请查看可能使用SQLite作为数据存储。