# ObjectAction<T> class

Namespace: [Grasshopper2.Undo.Actions](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.undo.actions.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public abstract class ObjectAction<T> : ObjectAction
```

Abstract undo action class for actions which apply to a specific object.

**Type parameters:**

- `T` (where IDocumentObject)

**Derived types:** [AiComponentStateAction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.descriptive.aicomponentstateaction.md), [CustomValueAction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.customvalueaction.md), [InsertParameterAction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.insertparameteraction.md), [ModularVisibilityAction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.modularvisibilityaction.md), [ParameterColourOverrideAction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.parametercolouroverrideaction.md), [ParameterModifierAction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.parametermodifieraction.md), [ParameterOutputAction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.parameteroutputaction.md), [PersistentDataAction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.persistentdataaction.md), [RemoveParameterAction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.removeparameteraction.md), [TimerObject.TimerTargetAction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.special.timerobject.timertargetaction.md)

## Constructors

- [ObjectAction<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.objectaction-1/ctor.md): (2 overloads)

## Methods

- [PerformRedoInternal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.objectaction-1/performredointernal.md)
- [PerformRedoInternalT](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.objectaction-1/performredointernalt.md)
- [PerformUndoInternal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.objectaction-1/performundointernal.md)
- [PerformUndoInternalT](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.objectaction-1/performundointernalt.md)
- [PrepareRedoInternal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.objectaction-1/prepareredointernal.md)
- [PrepareRedoInternalT](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.objectaction-1/prepareredointernalt.md)
- [PrepareUndoInternal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.objectaction-1/prepareundointernal.md)
- [PrepareUndoInternalT](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.objectaction-1/prepareundointernalt.md)

## Inherited Members

- From [ObjectAction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.objectaction.md): [Id](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.objectaction/id.md), [PerformRedoInternal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.objectaction/performredointernal.md), [PerformUndoInternal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.objectaction/performundointernal.md), [PrepareRedoInternal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.objectaction/prepareredointernal.md), [PrepareUndoInternal](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.objectaction/prepareundointernal.md), [Store](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actions.objectaction/store.md)
- From [Action](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.action.md): [Response](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.action/response.md), [State](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.action/state.md), [Extends](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.action/extends.md), [PerformRedo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.action/performredo.md), [PerformUndo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.action/performundo.md), [PrepareRedo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.action/prepareredo.md), [PrepareUndo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.action/prepareundo.md)
