覆盖使用 Web 服务的枚举类型
我实际上是在 C# .NET 的控制台应用程序中使用 Web 服务 这个服务是用 PHP 编写的,我没有源代码。所以在枚举类型中他们拥有他们想要的一切:“?” “。” numebrs、string ...
因此,当我的应用程序解释它时,我有: Item、Item0 ... 以及 XmlAttribute。
我想知道的是:是否有可能有一个类覆盖这些枚举以用“点”替换“。”以及其他哪些在我每次更新网络参考时不会被删除?
感谢您的回复
I'm actually consuming a web service in a Console Application in C# .NET
And this Service is written in PHP and I don't have the sources. So in there Enum types they have all they want : "?" "." numebrs, string ...
And so when it's interpreted by my application, I have : Item, Item0 ... with the XmlAttribute.
What I want to know is : Is it possible to have a class which override these enums to have "point" replacing "." and other which is not deleted each time I update my web reference ?
Thanks for your reply
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,我不太确定您是否可以覆盖创建服务引用时生成的枚举。
也许这对您来说是一个解决方案:
生成服务引用时,生成的 .cs 文件是一个分部类。您可以为自己创建另一个具有相同命名空间的分部类。在该类中,您可以创建返回转换后的枚举类型的方法或属性。当您更新服务参考时,该文件不会被覆盖。
示例:(
生成的服务引用类)
(自行创建的分部类)
您现在可以使用 ServiceReferenceComplexType.GetCorrectEnumValue() 方法来检索您的值。
Well I'am not pretty sure if you can override the enum which is generated when creating the service reference.
Maybe this is a solution for you:
When the service reference is generated, the .cs file that is generated is a partial class. You could create yourself another partial class with the same namespace. Within that class you can create a method or property that returns the converted enumtype. This file won't be overriden when you update your service reference.
Example:
(Generated service reference class)
(Self created partial class)
You can now use the ServiceReferenceComplexType.GetCorrectEnumValue() method to retrieve your value.