1

我正在使用 xsd.exe 为我们的设置创建 C# 类。我有一个针对每个服务器和每个数据库的设置,因此我希望该类的行为类似于 Dictionary<string, string[][]>。所以我想能够说

string serverName = "myServer";
int databaseId = 1;
FieldSettings fieldSettings = getFieldSettings();

string[] fields = fieldSettings[serverName][databaseId];

我如何在 XSD 中表示它?

4

2 回答 2

2

xsd 定义了数据结构,而不是真正的访问方法。我认为您不能在 xsd 中表达“这是一个查找”:一切都是值或值/实体集。

如果您想要特定的处理,您可以考虑自定义序列化 - 或者将您的 DTO 和您的工作类视为单独的事物,并在两者之间简单地转换。

[编辑] 作为 leppie 笔记 - 您可以编写自己的索引器(如果从 xsd 生成 cs,通常在部分类中)循环遍历列表以查找项目:这将为您提供调用者的用法,但不是真正的完整字典经验(唯一性、O(1) 检索等)

于 2008-10-17T10:49:54.517 回答
1

这不是什么xsd用途。您始终可以将自己的索引器添加到部分类中,并用[XmlIgnore]

于 2008-10-17T10:48:42.883 回答