覆盖使用 Web 服务的枚举类型

发布于 2024-10-30 15:58:34 字数 247 浏览 0 评论 0原文

我实际上是在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅忆流年 2024-11-06 15:58:54

好吧,我不太确定您是否可以覆盖创建服务引用时生成的枚举。

也许这对您来说是一个解决方案:

生成服务引用时,生成的 .cs 文件是一个分部类。您可以为自己创建另一个具有相同命名空间的分部类。在该类中,您可以创建返回转换后的枚举类型的方法或属性。当您更新服务参考时,该文件不会被覆盖。

示例:(

生成的服务引用类)

public partial class ServiceReferenceComplexType
{
    public enum EnumValues
    {
        Item0,
        Item1,
        Item2
    }
}

(自行创建的分部类)

public partial class ServiceReferenceComplexType
{
    public string GetCorrectEnumValue()
    {
        // Do your enum logic magic.
        EnumValues.Tostring();
    }
}

您现在可以使用 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)

public partial class ServiceReferenceComplexType
{
    public enum EnumValues
    {
        Item0,
        Item1,
        Item2
    }
}

(Self created partial class)

public partial class ServiceReferenceComplexType
{
    public string GetCorrectEnumValue()
    {
        // Do your enum logic magic.
        EnumValues.Tostring();
    }
}

You can now use the ServiceReferenceComplexType.GetCorrectEnumValue() method to retrieve your value.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文