أكثر

الحصول على القيمة / الوصف من مجال أو نوع فرعي لقيمة حقل معين؟

الحصول على القيمة / الوصف من مجال أو نوع فرعي لقيمة حقل معين؟


أحتاج إلى الحصول على قيمة من IObject.Fields.Field باستخدام ArcObjects 10.x باستخدام المعايير المدرجة أدناه:

  1. إذا كان الحقل يحتوي على نوع فرعي مرتبط به ، فأنا بحاجة إلى الحصول على اسم / وصف النوع الفرعي استنادًا إلى قيمة الحقل.

  2. إذا كان الحقل يحتوي على مجال ذي قيمة مشفرة مرتبط به ، فأنا بحاجة إلى الحصول على اسم / وصف المجال بناءً على قيمة الحقل.

  3. إذا لم يكن للحقل نوع فرعي أو مجال مرتبط به ، فأنا أريد إرجاع قيمة الحقل نفسها.

  4. يُفضل الحصول على هذه الوظيفة في مكالمة واحدة مثل "ReadFieldValue (IObject obj، int fieldIndex).


فيما يلي ما توصلت إليه:

///  /// يحصل على قيمة الحقل من IObject. يتحقق من نطاقات القيمة المشفرة أو الأنواع الفرعية أو قيمة الحقل العادي فقط. ///  /// ESRI IObject /// فهرس الحقل لـ IObject.Fields.Field ///  كائن ثابت داخلي ReadFieldValue (IObject obj ، int fieldIndex ، bool ignoreDescription = false) {object fieldValue = null؛ if (obj! = null && fieldIndex> -1) {/// افتراضيًا لقيمة الحقل أولاً ، /// اكتبه إذا تم العثور على نوع فرعي أو مجال ///. fieldValue = obj.Value [fieldIndex] ؛ إذا (fieldValue! = DBNull.Value && ignoreDescription == false) {ISubtypes subtypes = obj.Class as ISubtypes؛ IRowSubtypes rowSubtypes = obj كـ IRowSubtypes ؛ IField2 field = obj.Fields.Field [fieldIndex] مثل IField2 ؛ // قم بتعيين المجال المناسب بناءً على النوع الفرعي في حالة وجود نوع فرعي. مجال IDomain = فارغ ؛ if (field! = null) {if (subtypes! = null && subtypes.SubtypeFieldIndex> -1) {domain = subtypes.get_Domain (rowSubtypes.SubtypeCode، field.Name) ؛ } else {domain = field.Domain؛ }} // تحقق من حقل النوع الفرعي أولاً إذا (الأنواع الفرعية! = null && rowSubtypes! = null && subtypes.SubtypeFieldIndex == fieldIndex) fieldValue = subtypes.get_SubtypeName (rowSubtypes.SubtypeCode) ؛ // إذا لم يكن حقل نوع فرعي ، فتحقق من حقل مجال آخر إذا (المجال! = فارغ) {ICodedValueDomain2 cvDomain = domain as ICodedValueDomain2؛ if (cvDomain! = null) {for (int i = 0؛ i 

شاهد الفيديو: 01 Berekening van die waarde van n