Beispiel #1
0
        /// <summary>
        /// 检查所给的字段不为空
        /// </summary>
        /// <param name="pFeatureClass"></param>
        /// <param name="fields"></param>
        /// <returns></returns>
        public static bool NotNullCheck(this IFeatureClass pFeatureClass, params string[] fields)
        {
            if (!pFeatureClass.FieldExistCheck(fields))
            {
                return(false);
            }
            var            fieldsIndex    = pFeatureClass.FieldsIndex(fields);
            IFeatureCursor pFeatureCursor = pFeatureClass.Search(null, false);
            IFeature       pFeature;
            bool           flag    = true;
            var            indices = fieldsIndex as int[] ?? fieldsIndex.ToArray();

            while ((pFeature = pFeatureCursor.NextFeature()) != null)
            {
                if (!indices.Any(index => pFeature.Value[index] == null))
                {
                    continue;
                }
                flag = false;
                break;
            }
            Marshal.ReleaseComObject(pFeatureCursor);
            return(flag);
        }