Должен ли я использовать значения или ключи? - PullRequest
0 голосов
/ 17 июня 2009

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

Какой подход, на ваш взгляд, лучше? Я подумал, что строковый подход немного более «постоянный невежественный», так как мой класс не заботится о том, как сохраняются значения, только их строковое представление. С другой стороны, это заставляет код немного перепрыгивать через циклы - вместо того, чтобы возвращать то, что есть в функции, каждый получатель должен перебирать домен.

Ответы [ 2 ]

0 голосов
/ 29 июня 2009

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

0 голосов
/ 22 июня 2009

Возможно, вы захотите представить поля вашего домена с помощью Nullable< Int32>. Это даст вам возможность представить функции, для которых указано значение домена, но также позволит вам напрямую указать null, где это необходимо.

...