1

我的类Request派生自Dictionary<string, string>. 它有额外的字段。然后我有服务合同:string MakeRequest(Request request); 之后我为此合同生成服务参考。但是 VS 出于某种原因会生成下一个代码:

string MakeRequest(System.Collections.Generic.Dictionary<string, string> request);

我的问题是如何告诉 VS 我想要派生类而不是基类。

4

1 回答 1

1

我怀疑这是可能的。Dictionary支持似乎是内在的。Dictionary不是 SOAP 理解的类型,因此不能按字面意思序列化。例如,它没有[DataContract]属性。无法序列化派生类型(可能带有自定义字段)。

无论如何,派生自是Dictionary一个坏主意。您可能应该从 Dictionary 派生IDictionary并包装将其公开为属性:

class MyDict { public Dictionary<...> Items; }
于 2015-01-29T09:57:25.823 回答