0

私はこれらのコードをコアアプリケーションに持っています

[System.Serializable()]
public enum FieldOfDiscipline : int
{
None = 0,
ArchitecturalEngineeringFacilitiesManagement = 1,
ArtsLibraryScienceServices = 2,
AssetManagement = 3,
BusinessCorporatePlanning = 4,
DataStatistics = 5,
ExecutiveAssistance = 6,
FinancialServices = 7,
HealthServices = 8,
HumanResourceTrainingServices = 9,
InformationTechnologyServices = 10,
InternalAudit = 11,
InternationalOperations = 12,
LegalInvestigationServices = 13,
LoansCreditOperations = 14,         
ManagerialExecutive = 15,
PaymentsSettlements = 16,
ProcurementServices = 17,
PublicRelationsCommunications = 18,
ResearchDevelopment = 19,
Others = 255
}

私のWebサービスでそれを使用しています

Webサービスを参照してWebアプリケーションで列挙型を使用すると、別の整数値が返されるので、これを参照した定義に移動するために調査しました

#region Assembly App_WebReferences.3joumvby.dll, v2.0.50727
// C:\Users\Carlo\AppData\Local\Temp\Temporary ASP.NET Files\bsper.website\6db12346\_shadow\6f228f03\286299993\30323649\App_WebReferences.3joumvby.dll
#endregion

using System;
using System.CodeDom.Compiler;
using System.Xml.Serialization;

namespace BSPeR.ApplicationServiceProvider
{
    [Serializable]
    [XmlType(Namespace = "http://tempuri.org/")]
    [GeneratedCode("System.Xml", "4.0.30319.2022")]
    public enum FieldOfDiscipline
    {
        None = 0,
        ArchitecturalEngineeringFacilitiesManagement = 1,
        ArtsLibraryScienceServices = 2,
        AssetManagement = 3,
        BusinessCorporatePlanning = 4,
        DataStatistics = 5,
        ExecutiveAssistance = 6,
        FinancialServices = 7,
        HealthServices = 8,
        HumanResourceTrainingServices = 9,
        InformationTechnologyServices = 10,
        InternalAudit = 11,
        InternationalOperations = 12,
        LegalInvestigationServices = 13,
        LoansCreditOperations = 14,
        ManagerialExecutive = 15,
        PaymentsSettlements = 16,
        ProcurementServices = 17,
        PublicRelationsCommunications = 18,
        ResearchDevelopment = 19,
        Others = 20,
    }
}

Others の整数値に気付きましたか? 255から20に変更されました。

たとえば、このコードを使用する場合

(int) FieldOfDiscipline.Others 255 ではなく 20 の整数値を返します

元の値または割り当てた値を取得するにはどうすればよいですか?

4

1 に答える 1

1

WSDL は XML スキーマを使用してデータ型を記述します。.NET 列挙型 (int およびラベル) には直接同等の XML スキーマ データ型がないため、.NET は列挙型を一連のラベルとして表します。したがって、int 値は Web サービスのサービス記述 (WSDL + XSD) には表示されません。クライアント プロキシ生成プロセス (svcutil だと思います) が独自の int 値を生成したとしか思えません。

同様の Java の質問については、こちらも参照してください: WSDL 表現の列挙型

于 2013-09-17T16:47:13.170 に答える