# ModularList class

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

```cs
public sealed class ModularList
```

An array of input or output parameters of a [ModularComponent](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularcomponent.md) which maintains the hidden/shown states of the optional parameters.

## Constructors

- [ModularList](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/ctor.md)

## Properties

- [AllParameters](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/allparameters.md): Enumerate over all parameters.
- [Categories](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/categories.md): Enumerate over all parameter categories. Parameters are grouped if they're optional and share the same __Category custom value.
- [Count](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/count.md): The total number of parameters.
- [HiddenParameters](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/hiddenparameters.md): Enumerate over only hidden parameters.
- [OptionalParameters](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/optionalparameters.md): Enumerate over all optional parameters. An optional parameter must have a TRUE value in the CustomValues stored under [ModularComponent.__Optional](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularcomponent/optional.md).
- [VisibleCount](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/visiblecount.md): The number of visible parameters.
- [VisibleParameters](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/visibleparameters.md): Enumerate over only visible parameters.

## Indexers

- [this[]](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/item.md): Gets or sets whether the parameter with the given index is visible.

## Methods

- [Hide](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/hide.md): Hide the parameter at the given index. This is only possible if the parameter is optional. Any wires currently connected to the parameter are severed (with the disconnections added to the undo list) and the connection data is cached in the parameter's CustomValues so that the wires can be reinstated when the parameter is shown again.
- [IndexOf](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/indexof.md)
- [IsOptional](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/isoptional.md): (static)
- [IsVisible](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/isvisible.md): Gets whether the parameter with the given index is visible.
- [ResolveCategory](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/resolvecategory.md): (static)
- [ResolveColour](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/resolvecolour.md): (static)
- [ResolveIcon](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/resolveicon.md): (static)
- [ResolveName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/resolvename.md): (static)
- [Restore](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/restore.md)
- [Show](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/show.md): Show the parameter at the given index. If the parameter has a cached list of wires recorded from a previous hide operation, those wires are reinstated where possible. Any wires successfully reconnected are appended to the undo list.
- [Store](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/store.md)

## Events

- [Hidden](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/hidden.md): Events raised when a modular parameter is hidden.
- [Shown](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.modularlist/shown.md): Events raised when a modular parameter is shown.
