核心代码:
1 #region JoinWork_IntersectMax 2 private void CreateNewFields_IntersectMax(IFeatureClass destFeatureClass,IFeatureClass sourceFeatureClass) 3 { 4 List<IField> fieldList = new List<IField>(); 5 foreach (var item in this.chkField.CheckedItems) 6 { 7 IField field=sourceFeatureClass.Fields.get_Field( sourceFeatureClass.Fields.FindField(item.ToString())); 8 fieldList.Add(field); 9 } 10 string[] fieldArray = Utils.FieldUtils.GetFieldsNameArray(destFeatureClass); 11 foreach (IField field in fieldList) 12 { 13 if (!fieldArray.Contains(field.Name)) 14 { 15 Utils.FieldUtils.CreateField(destFeatureClass, field.Type, field.Name, "Source_"+ field.Name, field.Length, field.Precision, field.Scale); 16 } 17 } 18 } 19 private void GetFieldIndex(IFeatureClass destFeatureClass, IFeatureClass sourceFeatureClass, out List<int