使用其他枚举动态构建枚举

问题描述:

我有一个使用其他wcf服务(在Web上)的wcf服务。 这个其他wcf服务有一个枚举。使用其他枚举动态构建枚举

我会说我的客户只依赖于我的wcf服务。 因此,我会认为我的wcf服务具有其他wcf服务的enum值。

如何用其他wcf服务的枚举值创建我的枚举?

+0

使用枚举的要点是为编号指定编译时间“名称”(偶尔使用二进制操作来组合它们)。因此,动态构建'enum'的想法是没有意义的。 – theMayer 2013-03-15 21:21:33

枚举是可序列化的,所以只需反序列化WSDL。使用Add Service Reference并输入WSDL的URL。 VS会为你生成界面。

如果您更改接口,然后导致您打破客户端,他们将需要更新。

+0

我不明白我必须如何反序列化WSDL? – artoon 2013-03-15 21:26:09

+0

WSDL定义了您的接口,该接口将包含枚举,因此按照您通常从WSDL执行的操作构建您的接口。动态编译不应有任何理由。 – BanksySan 2013-03-15 21:32:58

+0

该Web服务是:[链接](http://www.webservicex.net/CurrencyConvertor.asmx?WSDL)。我有所有枚举值:'ServiceConversionDevise.Currency.GetValues(typeof(ServiceConversionDevise.Currency))。Cast ();'何时何地我必须反序列化WSDL? – artoon 2013-03-16 10:08:16