Соглашение об именах для свойств в классе - PullRequest
1 голос
/ 11 марта 2020

Я обращаюсь к удаленной службе, которая возвращает данные в формате XML с помощью NameSpace et c. Когда я получил WSDL, который также включал определения ответов, я обнаружил, что мне не нравятся имена свойств.

Например, как я могу сохранить исходное имя свойства?

Partial Public Class ADDR_VAL_RESP
    Inherits LSR_INQUIRY_RESP_Type

    Private rESP_STATUS_GRPField() As RESP_STATUS_GRP

    Private itemField As Object

    '''<remarks/>
    <System.Xml.Serialization.XmlElementAttribute("RESP_STATUS_GRP")>
    Public Property RESP_STATUS_GRP() As RESP_STATUS_GRP()
        Get
            Return Me.rESP_STATUS_GRPField
        End Get
        Set
            Me.rESP_STATUS_GRPField = Value
        End Set
    End Property

В приведенном выше случае он принимает RESP_STATUS_GRP и возвращает его как rESP_STATUS_GRPField, но я бы предпочел сохранить исходное имя, поскольку оно намного чище.

Также, как я могу удалить все свойства, которые являются нулевыми, прежде чем возвращать их, как некоторые из классов могут иметь более 20 свойств, но только 4 или около того имеют значения? Это не только чище, но и экономит траффики c, так как возврат будет меньше.

1 Ответ

0 голосов
/ 12 марта 2020

Сохраните имена из удаленной системы. Существуют способы использования разных имен, но вы создадите проблему обслуживания, изменив сгенерированные WSDL C# классы.

В лучшем случае создайте класс, имеющий объект данных типа, возвращаемого службой WSDL, и используйте свою собственную схему именования.

Два случая:

  1. Что если служба WSDL изменит имя, используемое в вашем приложении?
  2. Что если данные WSDL приходит в совершенно другом формате? Это было видно, когда наша система бухгалтерского учета использовала WSDL, и корпоративное слияние заставило нас интегрироваться с другой системой учета от приобретенной компании. Система учета приобретенной компании имела другой формат данных.
    В итоге мы преобразовали формат данных приобретенной компании в формат, используемый другой системой учета.

Краткий ответ: изолируйте вашу систему от имен , структуры и отказы во внешних системах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...