# Parameter<T> class

Namespace: [Grasshopper2.Parameters](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.parameters.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public abstract class Parameter<T> : AbstractParameter, IParameter<T>
```

Abstract class containing a minimal implementation of IParameter[T].

**Type parameters:**

- `T`: Type of data contained in this parameter.

**Derived types:** [AngleParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.angleparameter.md), [BakeAwareParameter<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.bakeawareparameter-1.md), [BooleanParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.booleanparameter.md), [BreakLoop](https://developer.rhino3d.com/api/gh2/type/grasshopper2.specialobjects.breakloop.md), [ColourParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.colourparameter.md), [ColourSwatchObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.colourswatchobject.md), [ComplexParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.complexparameter.md), [ComplexPickerObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.complexpickerobject.md), [ConnectionParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.connectionparameter.md), [ContinuousDistributionParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.continuousdistributionparameter.md), [CurveLocusParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.curvelocusparameter.md), [DateTimeParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.datetimeparameter.md), [DeformParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.deformparameter.md), [DiscreteDistributionParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.discretedistributionparameter.md), [FieldParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.fieldparameter.md), [FunctionEditorObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.functioneditorobject.md), [FunctionParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.functionparameter.md), [GradientEditorObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.gradienteditorobject.md), [GradientParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.gradientparameter.md), [GuidParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.guidparameter.md), [HistogramObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.histogramobject.md), [IntegerParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.integerparameter.md), [IntervalParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.intervalparameter.md), [LanguageParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.languageparameter.md), [LoopIteration](https://developer.rhino3d.com/api/gh2/type/grasshopper2.specialobjects.loopiteration.md), [MaterialEditorObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.materialeditorobject.md), [MeshFacetParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.meshfacetparameter.md), [MetaDataParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.metadataparameter.md), [MetaNameParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.metanameparameter.md), [MetaNamePickerObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.metanamepickerobject.md), [NumberParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.numberparameter.md), [NumberPickerObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.numberpickerobject.md), [NumberSliderObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.numbersliderobject.md), [PathParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.pathparameter.md), [Pin<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.pin-1.md), [PointNParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.pointnparameter.md), [ProtractorObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.protractorobject.md), [QuickGraphObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.quickgraphobject.md), [RandomParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.randomparameter.md), [SiteParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.siteparameter.md), [SurfaceLocusParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.surfacelocusparameter.md), [TemporalPickerObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.temporalpickerobject.md), [TextInputObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.textinputobject.md), [TextParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.textparameter.md), [TextPatternParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.textpatternparameter.md), [TimeSpanParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.timespanparameter.md), [ToggleObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.toggleobject.md), [TransformParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.transformparameter.md), [TupleParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.tupleparameter.md)

## Constructors

- [Parameter<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1/ctor.md): (3 overloads) Deserialization constructor.

## Properties

- [PersistentData](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1/persistentdata.md)
- [PersistentDataWeak](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1/persistentdataweak.md)
- [Presets](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1/presets.md)
- [PresetsWeak](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1/presetsweak.md)
- [TypeAssistant](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1/typeassistant.md): Each parameter type ought to provide an assistant. However this property may return null, in which case a lot of functionality will not be available.
- [TypeAssistantWeak](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1/typeassistantweak.md)

## Methods

- [CollectFromPersistent](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1/collectfrompersistent.md)
- [CollectFromSources](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1/collectfromsources.md)
- [CreateDisplayFromTree](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1/createdisplayfromtree.md): Override this method to populate displays.
- [CreateEmptyTree](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1/createemptytree.md): Create an empty tree which can be used as a placeholder for null data in solution results.
- [ExpireReferences](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1/expirereferences.md): Expire all references which match a validator method.
- [LoadNewPersistentData](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1/loadnewpersistentdata.md): (2 overloads) Utility function for overriding persistent data. This method will:Add an undo record for the current persistent data.; Assign new persistent data.; Expire the parameter.; Trigger a new solution on the document which owns this parameter.
- [PickManyItems](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1/pickmanyitems.md): Default implementation will show a multi-line text box.
- [PickOneItem](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1/pickoneitem.md): Default implementation will show a text box provided there's an assisatant which supports roundtripping.
- [PopulateDisplay](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1/populatedisplay.md)
- [Set](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1/set.md): (3 overloads) Set one or more persistent values at path {0}. This method overwrites whatever persistent data may already be set.
- [Store](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1/store.md): This method is called whenever the instance is required to serialize itself.

## Inherited Members

- From [AbstractParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter.md): [Access](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/access.md), [AccessVariability](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/accessvariability.md), [ColourOverride](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/colouroverride.md), [Connectivity](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/connectivity.md), [DisplayName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/displayname.md), [Expression](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/expression.md), [ExpressionEnabled](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/expressionenabled.md), [ExpressionText](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/expressiontext.md), [FallbackName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/fallbackname.md), [HardMetaData](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/hardmetadata.md), [Inputs](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/inputs.md), [Kind](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/kind.md), [ModifierIcons](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/modifiericons.md), [Modifiers](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/modifiers.md), [Outputs](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/outputs.md), [PickRelatedItemsNomen](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/pickrelateditemsnomen.md), [PostProcessInputTrees](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/postprocessinputtrees.md), [Requirement](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/requirement.md), [SoftMetaData](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/softmetadata.md), [TypeFlavour](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/typeflavour.md), [ColourOverrideModified](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/colouroverridemodified.md), [AppendCleaningModifiers](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/appendcleaningmodifiers.md), [AppendCustomModifiers](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/appendcustommodifiers.md), [AppendDataElements](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/appenddataelements.md), [AppendExpressionModifier](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/appendexpressionmodifier.md), [AppendModifierIcons](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/appendmodifiericons.md), [AppendOrderingModifierElements](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/appendorderingmodifierelements.md), [AppendToInputPanel](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/appendtoinputpanel.md), [AppendTopologyModifierElements](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/appendtopologymodifierelements.md), [AppendVariableAccessElements](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/appendvariableaccesselements.md), [ClearModifierIcons](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/clearmodifiericons.md), [ComputeInternal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/computeinternal.md), [CreateAttributes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/createattributes.md), [CreateValueControl](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/createvaluecontrol.md), [EditMetaData](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/editmetadata.md), [EditPersistentValues](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/editpersistentvalues.md), [ExpireAllRecipients](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/expireallrecipients.md), [GetAllSourceTrees](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/getallsourcetrees.md), [ModifyAndProcessResult](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/modifyandprocessresult.md), [OverrideAccess](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/overrideaccess.md), [PickRelatedItems](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/pickrelateditems.md), [ProcessResult](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/processresult.md), [VolatileDataDescription](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter/volatiledatadescription.md)
- From [ActiveObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject.md): [DisplayCache](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/displaycache.md), [State](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/state.md), [Compute](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/compute.md), [DisplayBounds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/displaybounds.md), [DisplayFaces](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/displayfaces.md), [DisplayWires](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/displaywires.md), [Expire](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/expire.md), [UpdateDisplay](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.activeobject/updatedisplay.md)
- From [DocumentObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject.md): [Activity](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/activity.md), [Attributes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/attributes.md), [ChildrenObjects](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/childrenobjects.md), [CustomValues](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/customvalues.md), [Display](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/display.md), [DisplayCapable](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/displaycapable.md), [DisplayStyle](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/displaystyle.md), [Document](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/document.md), [EntireFamily](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/entirefamily.md), [FoundingObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/foundingobject.md), [Icon](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/icon.md), [IconInternal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/iconinternal.md), [InstanceId](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/instanceid.md), [Nomen](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/nomen.md), [Obsolete](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/obsolete.md), [ParentObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/parentobject.md), [Phase](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/phase.md), [ProgressPercentage](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/progresspercentage.md), [Relevance](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/relevance.md), [Selected](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/selected.md), [Selection](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/selection.md), [SiblingObjects](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/siblingobjects.md), [UserName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/username.md), [ActivityChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/activitychanged.md), [AutosaveRequested](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/autosaverequested.md), [DisplayChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/displaychanged.md), [DocumentChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/documentchanged.md), [Expired](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/expired.md), [InstanceIdChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/instanceidchanged.md), [LayoutChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/layoutchanged.md), [NameChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/namechanged.md), [RelevanceChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/relevancechanged.md), [SelectedChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/selectedchanged.md), [AddUndoRecord](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/addundorecord.md), [AppendBakeInput](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/appendbakeinput.md), [AppendStateInput](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/appendstateinput.md), [AppendUserNameInput](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/appendusernameinput.md), [ChangeInstanceIds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/changeinstanceids.md), [ExpireDisplay](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/expiredisplay.md), [GetCreationInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/getcreationinfo.md), [GetModificationInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/getmodificationinfo.md), [InvalidateExistingLayout](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/invalidateexistinglayout.md), [ModifyIcon](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/modifyicon.md), [ModifyNameAndInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/modifynameandinfo.md), [OnDisplayChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/ondisplaychanged.md), [OnExpired](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/onexpired.md), [OnLayoutChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/onlayoutchanged.md), [OverrideAttributes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/overrideattributes.md), [RequestAutoSave](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/requestautosave.md), [SetCreationInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/setcreationinfo.md), [SetModificationInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/setmodificationinfo.md), [SetProgressPercentage](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentobject/setprogresspercentage.md)
