public void copy_Value(IFeature pFromFeature) { if (pFromFeature == null || m_pCurFeature == null) { return; } for (int i = 0; i < pFromFeature.Fields.FieldCount; i++) { IField pFromField = pFromFeature.Fields.get_Field(i); if (GeoBaseLib.IsSysField(pFromField.Name)) { continue; } int index = m_pFeatureLayer.FeatureClass.Fields.FindField(pFromField.Name); if (index != -1) { object value = pFromFeature.get_Value(i); m_pCurFeature.set_Value(index, value); } } }
public static baseFieldList get_Fields(IFeature pFeature) { baseFieldList pFields = new baseFieldList(); if (pFeature == null) { return(null); } for (int i = 0; i < pFeature.Fields.FieldCount; i++) { IField pField = pFeature.Fields.get_Field(i); if (GeoBaseLib.IsSysField(pField.Name)) { continue; } baseField smField = new baseField(); smField.strFieldName = pField.Name; smField.strFieldAliasName = pField.Name; smField.ftFieldType = pField.Type; smField.nFieldLen = pField.Length; pFields.Add(smField); } return(pFields); }