public List <ExpandoObject> ConvertToExpandoObjectList(List <FeatureItem> featureItems) { List <ExpandoObject> list = new List <ExpandoObject>(); foreach (FeatureItem featureItem in featureItems) { var expandoObject = new ExpandoObject() as IDictionary <string, System.Object>; expandoObject.Add("[编号]", featureItem.OID); if (_displayName) { expandoObject.Add("[信息]", featureItem.Name); } IFields fields = featureItem.MainFeature.Fields; for (int i = 0; i < fields.FieldCount; i++) { IField field = fields.Field[i]; string strGeometry = FeatureClassUtil.GetShapeString(featureItem.MainFeature); if (field.Type == esriFieldType.esriFieldTypeGeometry) { expandoObject.Add(field.AliasName, strGeometry); } else if (field.Type != esriFieldType.esriFieldTypeBlob) { expandoObject.Add(field.AliasName, featureItem.MainFeature.Value[i]); } else { expandoObject.Add(field.AliasName, "二进制数据"); } } if (_displayRemarks) { expandoObject.Add("[备注]", featureItem.Remarks); } list.Add(expandoObject as ExpandoObject); } return(list); }
public List <ExpandoObject> ConvertToExpandoObjectList(List <FeatureItem> featureItems) { List <ExpandoObject> list = new List <ExpandoObject>(); foreach (FeatureItem featureItem in featureItems) { var expandoObject = new ExpandoObject() as IDictionary <string, System.Object>; expandoObject.Add("[图层组]", featureItem.PipelineName); expandoObject.Add("[图层]", featureItem.PipeLayerName); expandoObject.Add("[检查项]", featureItem.CheckItem); expandoObject.Add("[检查信息]", featureItem.ErrDesc); if (featureItem.MainFeature != null) { expandoObject.Add("[编号]", featureItem.OID); IFields fields = featureItem.MainFeature.Fields; for (int i = 0; i < fields.FieldCount; i++) { IField field = fields.Field[i]; string strGeometry = FeatureClassUtil.GetShapeString(featureItem.MainFeature); if (field.Type == esriFieldType.esriFieldTypeGeometry) { expandoObject.Add(field.AliasName, strGeometry); } else if (field.Type != esriFieldType.esriFieldTypeBlob) { expandoObject.Add(field.AliasName, featureItem.MainFeature.Value[i]); } else { expandoObject.Add(field.AliasName, "二进制数据"); } } } list.Add(expandoObject as ExpandoObject); } return(list); }