覆盖枚举类型消费Web服务



我实际上是在c# .NET的控制台应用程序中使用web服务这个服务是用PHP写的,我没有源代码。所以在枚举类型中他们有他们想要的:"?"."数字,字符串…

所以当它被我的应用程序解释时,我有:Item, Item0…

我想知道的是:是否有可能有一个类覆盖这些枚举有"点"取代"。"和其他不删除每次我更新我的网页参考?

感谢您的回复

我不太确定你是否可以覆盖在创建服务引用时生成的enum

也许这是一个适合你的解决方案:

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

的例子:

(生成的服务引用类)

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();
    }
}

你现在可以使用ServiceReferenceComplexType.GetCorrectEnumValue()方法来检索你的值

最新更新