# IParameter interface

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 interface IParameter : IDocumentObject, IReferenceAware
```

Base interface for parameters. Never directly implement this interface, always inherit from [AbstractParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter.md), [Parameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter.md), or [Parameter<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.parameter-1.md) instead.

**Derived types:** [AbstractParameter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.abstractparameter.md), [IParameter<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter-1.md)

## Properties

- [Access](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter/access.md): Gets the access for this parameter, i.e. whether it treats data as items, lists or trees.
- [AccessVariability](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter/accessvariability.md): Gets or sets the variability allowance of the access level. If this variability is anything other than None, the parameter will provide menu UI for changing its access state.
- [ColourOverride](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter/colouroverride.md): Gets or sets the colour override for the display of this object.
- [FallbackName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter/fallbackname.md): Gets or sets a fallback name to be used as DisplayName in case the UserName is null or empty.
- [HardMetaData](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter/hardmetadata.md): Gets or sets the primary meta data to assign to all values passing through this parameter. Primary meta data is always assigned and may overwrite existing meta data with the same keys.
- [Inputs](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter/inputs.md): Gets the input parameters. This list only includes parameters that are connected through wires, it does not include globals this parameter depends on.
- [Kind](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter/kind.md): Gets the parameter station (in life). Input, output, floating or other.
- [ModifierIcons](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter/modifiericons.md): Gets an array of all the mode icons currently in effect in this parameter.
- [Modifiers](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter/modifiers.md): Gets or sets the modifiers associated with this parameter.
- [Outputs](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter/outputs.md): Gets the output parameters. This list only includes parameters that are connected through wires, it does not include objects that in some other way depend on this parameter.
- [PersistentDataWeak](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter/persistentdataweak.md): Gets the persistent data in a weakly typed form.
- [PostProcessInputTrees](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter/postprocessinputtrees.md): Assign this method if you wish to process the trees harvested from source parameters before they are converted into a single, type compatible tree. You almost never need to assign this, it's *super* exotic. Do note that any type conversions that occur here will not be included in the conversion record. Also note that this property must be assigned every time as it cannot be (de)serialised.
- [PresetsWeak](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter/presetsweak.md): Gets the presets in a weakly typed form.
- [Requirement](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter/requirement.md): Gets or sets the data requirement for this parameter. Requirement typically only make sense as component inputs, but the property exists on all parameters.
- [SoftMetaData](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter/softmetadata.md): Gets or sets the secondary meta data to assign to all values passing through this parameter. Secondary meta data is only assigned when it won't overwrite existing meta data with the same keys.
- [TypeAssistantWeak](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter/typeassistantweak.md): Gets the weakly typed type assistant (if any) for the data inside this parameter.
- [TypeFlavour](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter/typeflavour.md): Gets the flavour of the type this parameter contains.

## Methods

- [ClearModifierIcons](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.iparameter/clearmodifiericons.md): Clear the modifier icon caches. Call this method if the icons change without a new solution being involved.

## Inherited Members

- From [IDocumentObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject.md): [Activity](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/activity.md), [Attributes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/attributes.md), [ChildrenObjects](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/childrenobjects.md), [Connectivity](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/connectivity.md), [CustomValues](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/customvalues.md), [Display](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/display.md), [DisplayCapable](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/displaycapable.md), [DisplayName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/displayname.md), [DisplayStyle](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/displaystyle.md), [Document](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/document.md), [EntireFamily](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/entirefamily.md), [FoundingObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/foundingobject.md), [Icon](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/icon.md), [InstanceId](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/instanceid.md), [Nomen](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/nomen.md), [Obsolete](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/obsolete.md), [ParentObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/parentobject.md), [Phase](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/phase.md), [ProgressPercentage](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/progresspercentage.md), [Relevance](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/relevance.md), [Selected](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/selected.md), [Selection](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/selection.md), [SiblingObjects](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/siblingobjects.md), [State](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/state.md), [UserName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/username.md), [ActivityChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/activitychanged.md), [AutosaveRequested](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/autosaverequested.md), [DisplayChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/displaychanged.md), [DocumentChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/documentchanged.md), [Expired](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/expired.md), [InstanceIdChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/instanceidchanged.md), [LayoutChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/layoutchanged.md), [NameChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/namechanged.md), [RelevanceChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/relevancechanged.md), [SelectedChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/selectedchanged.md), [AddUndoRecord](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/addundorecord.md), [AppendToInputPanel](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/appendtoinputpanel.md), [Compute](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/compute.md), [DisplayBounds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/displaybounds.md), [DisplayFaces](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/displayfaces.md), [DisplayWires](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/displaywires.md), [Expire](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/expire.md), [GetCreationInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/getcreationinfo.md), [GetModificationInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/getmodificationinfo.md), [ModifyIcon](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/modifyicon.md), [ModifyNameAndInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/modifynameandinfo.md), [OnDisplayChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/ondisplaychanged.md), [OnLayoutChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/onlayoutchanged.md), [OverrideAttributes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/overrideattributes.md), [RequestAutoSave](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/requestautosave.md), [SetCreationInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/setcreationinfo.md), [SetModificationInfo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/setmodificationinfo.md), [UpdateDisplay](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject/updatedisplay.md)
- From [IReferenceAware](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.ireferenceaware.md): [ExpireReferences](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.ireferenceaware/expirereferences.md)
- From [IStorable](https://developer.rhino3d.com/api/gh2/type/grasshopperio.istorable.md): [Store](https://developer.rhino3d.com/api/gh2/type/grasshopperio.istorable/store.md)
