هل يجب استخدام القيم أو المفاتيح؟
-
05-07-2019 - |
سؤال
وأنا warpping كائن نظام ArcGIS IFeature مع الفئة التي لديها بلدي الخصائص المطلوبة للحصول على وتعيين عليها بسهولة.
في الأساس، وعمليات الحصول على وتعيين مجرد استخدام feature.get_value(index)
وfeature.set_value(indes, value)
، وفضح القيمة المكتوبة بشدة.
لدي العديد من المجالات التي تستخدم المجال (في الأساس، وهو IDictionary<string, object>
) لتمثيل خصائص مشتركة عبر التطبيق.
في البداية كنت أحسب أنني سوف تستخدم فقط مفاتيح المجال (وهي قيم كثافة العمليات العادية) في صفي التغليف، واستخدام المجال في بلدي طريقة ToString()
، لتترجم إلى سلاسل للواجهة المستخدم.
في وقت لاحق فكنت أحسب يمكنني استخدام السلاسل في بلدي applicaiton (مما يجعل من الاسهل لتمرير حول القيم الخالية، وحقول نطاق الفعلية هي قيم الفارغة أكثر من مرة)، وفقط تغيير حاصل تلك الحقول "واضعي استخدام GetDomainValue(index)
وSetDomainValue(index, value)
الطريقة التي سوف تترجم بين المفتاح والقيمة إلى / من وجوه ميزة الأساسي.
ما هو النهج رأيك هو أفضل؟ فكنت نهج السلسلة أكثر قليلا "مستمرة جاهل"، وصفي لا يهمهم كيف يتم حفظ القيم، مجرد تمثيل سلسلة الخاصة بهم. من ناحية أخرى، فإنه يجعل القفزة متاحة من خلال الحلقات قليلا - بدلا من إرجاع ما في هذه الميزة، كل جالبة يحتاج إلى تكرار المجال
.المحلول 2
وانتهى بي الأمر العالقة مع القيم نطاق، حتى أستطيع أن أيضا التحقق من أن رمز الدعوة تمرير قيمة صالحة.
نصائح أخرى
وقد ترغب في التفكير تمثل الحقول نطاقك مع Nullable< Int32>
أ >. هذا من شأنه أن يوفر لك وسيلة لتمثيل الميزات التي لها قيمة المجال المحدد لكنه أيضا يسمح لك بتحديد مباشرة null
حيثما كان ذلك مناسبا.