8

这听起来像是一个不寻常的问题,但我很好奇如何在 resx 文件设置中添加一个额外的列(所以我会有类似“名称、值、评论、foo”之类的东西)

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

4

2 回答 2

5

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

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

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

于 2009-10-28T19:18:59.413 回答
1

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

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

这将允许您为“新列”存储任意数量的名称-键-> 值对。

如果您的要求更复杂和微妙,那么请考虑编写自己的资源阅读器/编写器。

此外,这听起来像您有一个与数据库表更匹配的要求。考虑使用SQLite作为数据存储,可能。

于 2009-10-28T19:19:05.777 回答