# GH_Param<T> class

Namespace: [Grasshopper.Kernel](https://developer.rhino3d.com/api/gh1/namespace/grasshopper.kernel.md) · Assembly: [Grasshopper](https://developer.rhino3d.com/api/gh1/assembly/grasshopper.md)

```cs
public abstract class GH_Param<T> : GH_ActiveObject, IGH_Param, IGH_ParamWithPostProcess
```

Base implementation of IGH_Param. Derive from this class rather than implementing IGH_Param from scratch. If your parameter can store persistent data, derive from GH_PersistentParam(Of T) instead.

**Type parameters:**

- `T` (where class, IGH_Goo): Data type for this parameter.

**Derived types:** [GH_BarGraph](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-bargraph.md), [GH_BooleanSwitch_Obsolete](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-booleanswitch-obsolete.md), [GH_BooleanToggle](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-booleantoggle.md), [GH_ButtonObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-buttonobject.md), [GH_ClusterHook](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-clusterhook.md), [GH_ColourPickerObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-colourpickerobject.md), [GH_ColourSwatch](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-colourswatch.md), [GH_ColourWheel](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-colourwheel.md), [GH_ConstantObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-constantobject.md), [GH_DataRecorder](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-datarecorder.md), [GH_DialKnob](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-dialknob.md), [GH_DigitScroller](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-digitscroller.md), [GH_GeometryCache](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-geometrycache.md), [GH_GeometryPipeline](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-geometrypipeline.md), [GH_GraphMapper](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-graphmapper.md), [GH_ImageSampler](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-imagesampler.md), [GH_ItemPicker](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-itempicker.md), [GH_MultiDimensionalSlider](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-multidimensionalslider.md), [GH_NumberSlider](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-numberslider.md), [GH_Panel](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-panel.md), [GH_ParamViewer](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-paramviewer.md), [GH_PathMapper](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-pathmapper.md), [GH_PersistentParam<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-persistentparam-1.md), [GH_PieChart](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-piechart.md), [GH_ProxyParameter](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.gh-proxyparameter.md), [GH_QuickGraph](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-quickgraph.md), [GH_Receiver](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.gh-receiver.md), [GH_Relay](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-relay.md), [GH_SuireSimplifyNode](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-suiresimplifynode.md), [GH_ValueList](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-valuelist.md), [GH_ValueTracker](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-valuetracker.md), [ModelDataParam<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.rhinoceros.params.modeldataparam-1.md), [Param_Field](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-field.md), [Param_Group](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-group.md), [Param_Interval2D_OBSOLETE](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-interval2d-obsolete.md), [Param_Predicate](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-predicate.md)

## Constructors

- [GH_Param<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/ctor.md): (3 overloads)

## Fields

- [m_data](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/m-data.md): Contains the runtime data for this parameter, also known as "Volatile" data.

## Properties

- [Access](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/access.md): Gets or sets the Access level for this parameter.
- [DataMapping](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/datamapping.md): Gets or sets the data mapping of this Parameter.
- [DataType](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/datatype.md): Type is either Void if there are no sources or Remote. Derived classes should expand on this.
- [HasProxySources](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/hasproxysources.md): Gets a value indicating whether or not this parameter maintains proxy sources. Proxy sources are used during file IO, when actual sources might not be available yet. Once an IO operation has been completed there should be no more proxy sources.
- [InstanceDescription](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/instancedescription.md): Gets the description of this instance. The default description is about the amount and source of the local values.
- [IsDataProvider](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/isdataprovider.md)
- [IsPrincipal](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/isprincipal.md): Gets whether this parameter is a principal parameter. Principal parameters are maintained by components and are not part of the IGH_Param interface.
- [Kind](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/kind.md): Gets the parameter kind. The kind is evaluated lazily and cached.
- [Optional](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/optional.md): Gets or sets whether or not this parameter is considered optional by the owner component. Empty, non-optional parameters prevent the component from being solved.
- [ProcessorTime](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/processortime.md)
- [ProxySourceCount](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/proxysourcecount.md): Gets the number of proxy sources for this parameter. Proxy sources are used during file IO, when actual sources might not be available yet. Once an IO operation has been completed there should be no more proxy sources.
- [Recipients](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/recipients.md): Gets a list of all the recipients of this parameter. I.e. a recipient has this parameter as one of the sources. The Recipient list is maintained by the parameter, do not modify it yourself.
- [Reverse](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/reverse.md): Gets or sets the data reverse modifier of this parameter.
- [Simplify](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/simplify.md): Gets or sets the simplify modifier for this parameter.
- [SourceCount](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/sourcecount.md): Gets the number of sources for this parameter.
- [Sources](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/sources.md): Gets a list of source parameters. Do not modify this list, if you wish to add or remove sources, use dedicated functions like AddSource() and RemoveSource() instead.
- [StateTags](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/statetags.md): Gets all the StateTags that are associated with this parameter. A state tag is a visual feedback icon that represents specific internal settings.
- [Type](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/type.md): Gets the Framework Type descriptor for the stored Data.
- [TypeName](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/typename.md): Calls TypeName() on the first instance of T it can find. This is either an item in the volatile list, or a newly constructed instance.
- [VolatileData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/volatiledata.md)
- [VolatileDataCount](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/volatiledatacount.md)
- [WireDisplay](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/wiredisplay.md): Gets or sets the wire display style for this parameter. Wire display only affects the wires connected to the parameter input.

## Methods

- [AddSource](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/addsource.md): (2 overloads) Insert a new Source parameter into the Sources list. Sources provide this parameter with data at runtime.
- [AddVolatileData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/addvolatiledata.md): (2 overloads) Inserts an item of volatile data into the data structure.
- [AddVolatileDataList](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/addvolatiledatalist.md): (2 overloads)
- [AddVolatileDataTree](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/addvolatiledatatree.md): (2 overloads)
- [AppendAdditionalMenuItems](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/appendadditionalmenuitems.md): Override this function if you want to add specific items to the object context menu Default items already included in the menu toolstrip are:Name; Preview; Warnings; Errors
- [Cast_Object](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/cast-object.md): Attempts to convert the Object reference into an instance of T. This method will perform a direct cast if possible or it will call Casting functions on T or Data if they exist. Data will not be duplicated unless a type conversion is required.
- [ClearData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/cleardata.md)
- [ClearProxySources](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/clearproxysources.md): Remove all proxy sources without attempting to relink them.
- [CollectData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/collectdata.md)
- [CollectVolatileData_Custom](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/collectvolatiledata-custom.md): If a parameter has no sources, the CollectVolatileData_Custom() method is called. The basic implementation does nothing, but you can override this method to provide special data instantiation logic.
- [CollectVolatileData_FromSources](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/collectvolatiledata-fromsources.md): This method collects volatile data from all the source parameters.
- [ComputeData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/computedata.md)
- [ConnectNewObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/connectnewobject.md)
- [ConversionCallback](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/conversioncallback.md): This method is called whenever a successful conversion takes place from some source data into local target data. Override it if you wish to keep tabs on conversions.
- [CreateAttributes](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/createattributes.md)
- [CreateProxySources](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/createproxysources.md): Convert all proper source parameters into proxy sources.
- [DependsOn](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/dependson.md)
- [ExpireDownStreamObjects](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/expiredownstreamobjects.md)
- [ExpireOwner](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/expireowner.md): Utility method for expiring the owner component (if it exists).
- [ExpireSolutionTopLevel](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/expiresolutiontoplevel.md): Invoke the Expiresolution(bool) method on the toplevel object.
- [Format](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/format.md): Returns "Null" if the data is a null reference, otherwise calls ToString() on the Data instance.
- [InstantiateT](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/instantiatet.md): Attempts to instantiate a new instance of T.
- [IsolateObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/isolateobject.md)
- [Menu_AppendConnectRecipients](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/menu-appendconnectrecipients.md)
- [Menu_AppendConnectSources](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/menu-appendconnectsources.md)
- [Menu_AppendConnectWires](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/menu-appendconnectwires.md)
- [Menu_AppendDisconnectWires](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/menu-appenddisconnectwires.md)
- [Menu_AppendFlattenParameter](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/menu-appendflattenparameter.md)
- [Menu_AppendGraftParameter](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/menu-appendgraftparameter.md)
- [Menu_AppendPrincipalParameter](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/menu-appendprincipalparameter.md)
- [Menu_AppendPublish](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/menu-appendpublish.md)
- [Menu_AppendReverseParameter](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/menu-appendreverseparameter.md)
- [Menu_AppendSimplifyParameter](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/menu-appendsimplifyparameter.md)
- [Menu_AppendWireDisplay](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/menu-appendwiredisplay.md)
- [Menu_ConnectOutputClicked](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/menu-connectoutputclicked.md)
- [OnVolatileDataCollected](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/onvolatiledatacollected.md): Once volatile data has been collected this method will be calles. The basic implementation does nothing, but you can add code here to post-process or analyze the volatile data.
- [PostProcessData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/postprocessdata.md): Apply data post-processes (simplify, reverse, graft, flatten etc. as well as overridden processes).
- [PreferredCast](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/preferredcast.md): Implement this function if you're certain that you'll be confronted with very common casts. For example, GH_Point has a preferred cast from Rhino.Geometry.Point3d and GH_Number has a preferred cast from System.Double.
- [Preview_ComputeClippingBox](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/preview-computeclippingbox.md): This function can be used to iterate over all items in the Volatile data tree and collect the union clipping box of all non-null items that implement Preview.IGH_PreviewData. This function requires a lot of TypeOf and DirectCasting, so if you're worried about performance you should consider doing this yourself.
- [Preview_DrawMeshes](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/preview-drawmeshes.md): This function can be used to iterate over all items in the Volatile data tree and call DrawViewportWires on each item that implements Preview.IGH_PreviewData. This function requires a lot of TypeOf and DirectCasting, so if you're worried about performance you should consider doing this yourself.
- [Preview_DrawWires](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/preview-drawwires.md): This function can be used to iterate over all items in the Volatile data tree and call DrawViewportWires on each item that implements Preview.IGH_PreviewData. This function requires a lot of TypeOf and DirectCasting, so if you're worried about performance you should consider doing this yourself.
- [Read](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/read.md)
- [RegisterRemoteIDsUtil](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/registerremoteidsutil.md): Utility function which treats all data in the Volatile cache as IGH_GeometricGoo and registers all referenced objects. Call this function from within RegisterRemoteIDs() if you are absolutely sure that all the items in volatiledata implement IGH_GeometricGoo.
- [RelinkProxySources](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/relinkproxysources.md): Attempt to replace all proxy sources with real sources. Proxy sources are used during file IO, when actual sources might not be available yet. Once an IO operation has been completed there should be no more proxy sources.
- [RemoveAllSources](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/removeallsources.md): Remove all sources from this parameter.
- [RemoveEffects](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/removeeffects.md): Remove all post-process effects. Note to implementors, you must call the base method if you override this function.
- [RemoveSource](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/removesource.md): (2 overloads) Remove the specified source from this parameter.
- [Render_AppendGeometry](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/render-appendgeometry.md): (obsolete) This function has been emptied because it is Obsolete.
- [ReplaceSource](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/replacesource.md): (2 overloads) Replace an existing source with a new one. If the old_source does not exist in this parameter, nothing happens.
- [SetPrincipal](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/setprincipal.md): Set the principal parameter state.
- [VolatileDataDescription](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/volatiledatadescription.md): This method is called to populate the Tooltip data description field.
- [Write](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-param-1/write.md)

## Inherited Members

- From [GH_ActiveObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject.md): [IconCapableUI](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/iconcapableui.md), [Locked](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/locked.md), [MutableNickName](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/mutablenickname.md), [Phase](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/phase.md), [RuntimeMessageLevel](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/runtimemessagelevel.md), [AddRuntimeMessage](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/addruntimemessage.md), [AppendMenuItems](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/appendmenuitems.md), [ClearRuntimeMessages](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/clearruntimemessages.md), [ExpireSolution](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/expiresolution.md), [Menu_AppendBakeItem](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/menu-appendbakeitem.md), [Menu_AppendEnableItem](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/menu-appendenableitem.md), [Menu_AppendPreviewItem](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/menu-appendpreviewitem.md), [Menu_AppendRuntimeMessages](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/menu-appendruntimemessages.md), [Menu_AppendWarningsAndErrors](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/menu-appendwarningsanderrors.md), [RegisterRemoteIDs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/registerremoteids.md), [RuntimeMessages](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/runtimemessages.md), [SDKCompliancy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/sdkcompliancy.md)
- From [GH_DocumentObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject.md): [m_attributes](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/m-attributes.md), [Attributes](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/attributes.md), [ComponentGuid](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/componentguid.md), [Exposure](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/exposure.md), [Icon](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/icon.md), [IconDisplayMode](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/icondisplaymode.md), [Icon_24x24](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/icon-24x24.md), [Icon_24x24_Locked](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/icon-24x24-locked.md), [Internal_Icon_24x24](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/internal-icon-24x24.md), [Obsolete](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/obsolete.md), [AttributesChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/attributeschanged.md), [DisplayExpired](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/displayexpired.md), [ObjectChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/objectchanged.md), [PingDocument](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/pingdocument.md), [PreviewExpired](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/previewexpired.md), [SolutionExpired](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/solutionexpired.md), [AddedToDocument](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/addedtodocument.md), [DestroyIconCache](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/destroyiconcache.md), [DocumentContextChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/documentcontextchanged.md), [ExpirePreview](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/expirepreview.md), [GetValue](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/getvalue.md), [HtmlHelp_Source](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/htmlhelp-source.md), [Menu_AppendObjectHelp](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/menu-appendobjecthelp.md), [Menu_AppendObjectName](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/menu-appendobjectname.md), [Menu_AppendObjectNameEx](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/menu-appendobjectnameex.md), [MovedBetweenDocuments](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/movedbetweendocuments.md), [OnAttributesChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/onattributeschanged.md), [OnDisplayExpired](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/ondisplayexpired.md), [OnObjectChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/onobjectchanged.md), [OnPingDocument](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/onpingdocument.md), [OnPreviewExpired](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/onpreviewexpired.md), [OnSolutionExpired](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/onsolutionexpired.md), [RecordUndoEvent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/recordundoevent.md), [RemovedFromDocument](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/removedfromdocument.md), [SetIconOverride](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/seticonoverride.md), [SetValue](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/setvalue.md), [TriggerAutoSave](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/triggerautosave.md), [ValuesChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/valueschanged.md)
- From [GH_InstanceDescription](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription.md): [Category](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/category.md), [Description](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/description.md), [HasCategory](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/hascategory.md), [HasSubCategory](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/hassubcategory.md), [InstanceGuid](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/instanceguid.md), [Keywords](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/keywords.md), [Name](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/name.md), [NickName](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/nickname.md), [SubCategory](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/subcategory.md), [CopyFrom](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/copyfrom.md), [NewInstanceGuid](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/newinstanceguid.md), [ReadFull](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/readfull.md), [WriteFull](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/writefull.md)
