Я деформирую объект ArcGIS IFeature с классом, который обладает моими необходимыми свойствами, чтобы легко их получить и установить.
В основном, операции get и set просто используют feature.get_value(index)
и feature.set_value(indes, value)
и предоставляют строго типизированное значение.
У меня есть несколько полей, которые используют домен (в основном, IDictionary<string, object>
) для представления общих свойств в приложении.
Сначала я решил использовать ключи домена (которые являются обычными значениями int) в своем классе упаковки и использовать домен в моем методе ToString()
для преобразования в строки для пользовательского интерфейса.
Позже я понял, что могу использовать строки в своем приложении (что облегчает передачу пустых значений, так как фактические доменные поля в большинстве случаев обнуляются) и изменять только получатели и установщики этих полей, чтобы использовать GetDomainValue(index)
и SetDomainValue(index, value)
метод, который будет переводить между ключом и значением в / из базового объекта объекта.
Какой подход, на ваш взгляд, лучше? Я подумал, что строковый подход немного более «постоянный невежественный», так как мой класс не заботится о том, как сохраняются значения, только их строковое представление.
С другой стороны, это заставляет код немного перепрыгивать через циклы - вместо того, чтобы возвращать то, что есть в функции, каждый получатель должен перебирать домен.