To get the interactive part of the Feature set to work, you must define the Schema with either a layer file or feature class in model builder. When you take a look at the ArcObject description of a parameter, you notice a pointer called Schema, but this isn't where you define the template data for a GPFeatureRecordSet, you define it in Value().
inputParameter.DataType = new GPFeatureRecordSetLayerTypeClass();
//
// create the GP Feature Recordset Layer Object
// from template data
//
IFeatureClass FC = (IFeatureClass)m_GPUtilities.OpenDatasetFromLocation( @"" );
IRecordSetInit recordset = new RecordSetClass();
recordset.SetSourceTable( (ITable)FC, null );
IGPRecordSet gpRS = new GPRecordSetClass();
gpRS.RecordSet = (IRecordSet)recordset;
IGPRecordSet gpR = new GPFeatureRecordSetLayerClass();
gpR.RecordSet = new RecordSetClass();
gpR.RecordSet = (IRecordSet)recordset;
IGPFeatureRecordSetLayer gpFRSL = (IGPFeatureRecordSetLayer)gpR;
//
// Make template Data the default value
//
inputParameter.Value = (IGPValue)gpFRSL;
//
// Set schema to Geometry Type and
// add it to schema parameter value
//
IGPFeatureSchema fgs = new GPFeatureSchemaClass();
fgs.GeometryType = ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPolyline;
IGPSchema GPschema = (IGPSchema)fgs;
inputParameter.Schema = GPschema;
//
// set the geometery type domain
//
IGPFeatureClassDomain geomTypeDomain = new GPFeatureClassDomainClass();
geomTypeDomain.AddType( esriGeometryType.esriGeometryPolyline );
inputParameter.Domain = (IGPDomain)geomTypeDomain;
//
// Enable the value
//
inputParameter.Enabled = true;
//
// Set input direction
//
inputParameter.Direction = esriGPParameterDirection.esriGPParameterDirectionInput;
//
// Set the name and Dispaly Name
//
inputParameter.DisplayName = "Barriers";
inputParameter.Name = "LineBarrier";
//
// Set required, optional, or derivived data
//
inputParameter.ParameterType = esriGPParameterType.esriGPParameterTypeRequired;
// add parameter
parameters.Add( inputParameter );
The result should be an interactive dataset that you can use for interactive Geoprocessing.
Enjoy