{ "results": [{ "paramName": "result", "dataType": "GPRecordSet", "value": { "displayFieldName": "", "geometryType": "esriGeometryPoint", "spatialReference": { "wkid": 102100, "latestWkid": 3857 }, "fields": [ ... ], "features": [], "exceededTransferLimit": false } }], "messages": [ ... ] }
IGPParameterEdit3 result = new GPParameterClass(); IFeatureClass outputFeatureClass = DoneInAnotherMethod(); // open template from disk result.DataType = new GPFeatureRecordSetLayerTypeClass(); IRecordSetInit recordset = new RecordSetClass(); recordset.SetSourceTable((ITable)outputFeatureClass, null); IGPRecordSet recordSet = new GPRecordSetClass(); recordSet.RecordSet = (IRecordSet)recordset; IGPRecordSet gpRecordSet = new GPFeatureRecordSetLayerClass(); gpRecordSet.RecordSet = new RecordSetClass(); gpRecordSet.RecordSet = (IRecordSet)recordset; var featureRecordSetLayer = (IGPFeatureRecordSetLayer)gpRecordSet; result.Value = (IGPValue)featureRecordSetLayer; result.Name = Constants.OutputParameterName; result.DisplayName = Constants.OutputParameterName; result.Direction = esriGPParameterDirection.esriGPParameterDirectionOutput; result.ParameterType = esriGPParameterType.esriGPParameterTypeDerived; result.Enabled = true; IGPFeatureSchema featureSchema = new GPFeatureSchemaClass(); featureSchema.GeometryType = esriGeometryType.esriGeometryPoint; IGPFeatureClassDomain geomTypeDomain = new GPFeatureClassDomainClass(); geomTypeDomain.AddType(esriGeometryType.esriGeometryPoint); result.Domain = (IGPDomain)geomTypeDomain; result.Schema = (IGPSchema)featureSchema; myParameterInfo.Add(result);
com.esri.arcgis.carto.FeatureLayer
getDisplayField method
According to the docs, that should get you that field.
After all these years... Have you found the answer?
Is this actually possible?
I'm stuck with that although I'm not building it in C#
Greetings, Salvador